Data Science per la SEO: nozioni di scienza dei dati applicate alla SEO (e non solo)
La combinazione di analisi dei dati, statistica, studio degli algoritmi e metodo scientifico è alla base della data science. Vediamo insieme alcuni concetti di scienza dei dati e le possibili applicazioni nel nostro quotidiano lavoro da marketer.
esplorativa dei dati 1. Comprendere le variabili 2. Pulire il proprio dataset 3. Analizzare le relazioni tra variabili 3. Forecasting 1. Regressione lineare 2. Smorzamento esponenziale 4. Text mining 1. Il modello bag of words (BOW) 5. Clustering 1. Algoritmo K-means 2. DBSCAN Excel e il componente aggiuntivo Analysis Toolpak (disponibile anche per Google Sheets) Python e librerie aggiuntive (Pandas, Scikit-learn, NLTK) Strumenti
dei web server • Backlink • Comportamento utenti • Processi d’acquisto • Query degli utenti • Ranking in SERP • Caratteristiche delle SERP • Uso di app • Trending topics • Knowledge bases e entità • …
È la nozione di statistica più importante per la comprensione e la valutazione di ipotesi • Il punto forte della distribuzione gaussiana è che offre un riferimento statistico a cui paragonare altre distribuzioni • In natura infatti non esistono solo distribuzioni normali
sta per Exploratory Data Analysis • Sviluppata dal matematico e statistico John Wilder Tukey (1915-2000) • Obiettivo della EDA è studiare i dati partendo dai dati stessi
importanti • tralasciare le variabili inutili 1. Comprendere le variabili di un dataset • identificare valori anomali, mancanti e errori umani • massimizzare le informazioni del dataset 2. Pulire il proprio dataset • comprendere la relazione • valutare la mancanza di relazione tra variabili 3. Analizzare le relazioni tra variabili
piccolo tra valore massimo o 75° percentile + 1,5 * IQR 75° percentile 50° percentile (la mediana) 25° percentile Il più grande tra valore minimo o 25° percentile - 1,5 * IQR IQR* *Intervallo interquartile (Interquartile Range) Media
sull’abbigliamento hanno minori query con posizioni anomale 2. Le query sull’abbigliamento hanno una posizione media maggiore delle altre categorie 3. In generale, i dati delle query sull’abbigliamento risultano migliori delle altre
correlazione: • -1 = correlazione negativa • 0 = correlazione nulla • +1 = correlazione positiva Nuovi utenti, transazioni e revenue crescono al crescere delle sessioni Transazioni e revenue crescono al crescere dei nuovi utenti Le revenue crescono al crescere delle transazioni
sono affidabili? • Non tengono in considerazione le feature delle SERP come Top Stories ecc • Non considerano la diversità di risultati in SERP causate da intenti differenti
di una relazione tra variabili (+) Ottimo punto di partenza per ulteriori analisi (+) La relazione tra variabili potrebbe sintetizzare una causalità Svantaggi (-) Correlation is not causation (-) Se abbiamo pochi dati la correlazione può non essere attendibile (-) In presenza di valori anomali la correlazione perde efficacia (-) Le variabili confrontate devono essere distribuite normalmente
non normali) =RANGO.MEDIA(Singolo valore Sessioni;Colonna Sessioni;Ordine crescente) =RANGO.MEDIA(Singolo valore Sessioni;Colonna Sessioni;Ordine crescente)
di dati futuri basati su serie temporali storiche e analisi di trend e stagionalità • Esistono diverse tecniche di forecasting, qui vedremo la regressione lineare e lo smorzamento esponenziale
(di Pearson) Coefficiente di determinazione = il 20% della variabilità dei click può essere spiegata dalla data (il resto è legato ad altri fattori In media, le distanze dei punti dalla linea di regressione è di 8653 clic Intercetta (la b dell’equazione) Coeff. angolare (la m dell’equazione)
valori futuri =(Coeff. angolare * Data)+Intercetta cioè l’equazione della regressione y = mx + b Nota: per rapidità si può usare la formula seguente =PREVISIONE.LINEARE(Data;Colon na dei click;Colonna delle date)
implementare e interpretare (+) Algoritmo molto flessibile, tra i più usati dai data scientist, non solo per il forecasting Svantaggi (-) Previsioni molto semplici, che non tengono conto delle stagionalità (-) I valori anomali impattano molto i risultati
a cui effettuare la previsione Intervallo di confidenza: dati entro cui rientra la previsione futura Stagionalità: nel nostro caso 7 gg vanno bene perché i clic hanno una microstagionalità settimanale
applicare ai propri dataset (+) Più accurato della regressione lineare perché tiene conto delle stagionalità (+) Flessibile e ricco di opzioni Svantaggi (-) Piuttosto accurato, ma solo nel breve termine (-) Non ancora all’altezza di una canonica sfera di cristallo ☺
tecniche volte a trasformare il testo - non strutturato - in dati strutturati e normalizzati e ad elaborarlo • Il text mining estrae significato dai testi grazie alla conversione delle informazioni in un linguaggio comprensibile alle machine, dunque senza una comprensione semantica.
pipeline di text mining Lettura dati di testo Conversione in documento e Tokenizzazione Arricchimento Pulizia dataset e pre-elaborazione Estrazione keyword / Bag Of Words Codifica / embedding Analisi argomenti e sentiment
testo Conversione in documento e Tokenizzazione Arricchimento Pulizia dataset e pre- elaborazione Estrazione keyword / Bag Of Words Codifica / embedding Analisi argomenti e sentiment La lettura dei dati di testo può avvenire secondo modalità diverse Nel web i dati sono già disponibili in formato tabella, oppure si può fare scraping Su Python si usano le librerie: • Pandas per gestire i cosiddetti dataframe • Scrapy, BeautifulSoup, Selenium per fare scraping
testo Conversione in documento e Tokenizzazione Arricchimento Pulizia dataset e pre- elaborazione Estrazione keyword / Bag Of Words Codifica / embedding Analisi argomenti e sentiment I testi vengono convertiti in oggetti documento e tokenizzati La tokenizzazione è il processo di suddivisione del testo in unità più piccole Segue l’assegnazione di identificativi a ciascuna parola del testo L’obiettivo è dunque creare un indice completo di parole da processare
testo Conversione in documento e Tokenizzazione Arricchimento Pulizia dataset e pre- elaborazione Estrazione keyword / Bag Of Words Codifica / embedding Analisi argomenti e sentiment I token vengono arricchiti con informazioni aggiuntive Ad esempio si possono taggare alcune parti di testo come titolo, sommario ecc Sempre in questa fase è possible arricchire i token con delle entità (persone, città ecc)
testo Conversione in documento e Tokenizzazione Arricchimento Pulizia dataset e pre- elaborazione Estrazione keyword / Bag Of Words Codifica / embedding Analisi argomenti e sentiment In questa fase si procede con la semplificazione dei token mediante stemming e/o lemmatizzazione Si possono anche eliminare testi troppo corti, cifre, stop words, tag non necessari
testo Conversione in documento e Tokenizzazione Arricchimento Pulizia dataset e pre- elaborazione Estrazione keyword / Bag Of Words Codifica / embedding Analisi argomenti e sentiment I termini vengono raccolti nelle cosiddette Bag of Words Ad ogni termine viene assegnato un punteggio basato sulla sua frequenza nel testo Se si lavora con troppi termini, questi possono essere sintetizzate in keywords
testo Conversione in documento e Tokenizzazione Arricchimento Pulizia dataset e pre- elaborazione Estrazione keyword / Bag Of Words Codifica / embedding Analisi argomenti e sentiment Con la codifica, ai termini viene assegnato 0 o 1 se presenti o meno all’interno di un documento L’embedding è un processo simile ma più complesso
testo Conversione in documento e Tokenizzazione Arricchimento Pulizia dataset e pre- elaborazione Estrazione keyword / Bag Of Words Codifica / embedding Analisi argomenti e sentiment L’ultima fase è quella in cui si impiegano delle tecniche più specifiche per l’identificazione del sentiment o degli argomenti trattati
la SEO Lettura dati di testo Conversione in documento e Tokenizzazione Arricchimento Pulizia dataset e pre-elaborazione Estrazione keyword / Bag Of Words Codifica / embedding Analisi argomenti e sentiment
This movie is very scary and long Review 2: This movie is not scary and is slow Review 3: This movie is spooky and good Vettore di Review 1: [1 1 1 1 1 1 1 0 0 0 0] Vettore di Review 2: [1 1 2 0 0 1 1 0 1 0 0] Vettore di Review 3: [1 1 1 0 0 0 1 0 0 1 1]
movie is not scary and is slow TF per il termine “this“ = numero di occorrenze per “this“ (1) numero di termini in Review 2 (8) = 1/8 Ricorda qualcosa?
il termine “this“ = log Numero di documenti (3) Numero di documenti con il termine “this“ (3) = log(3/3) = log(1) = 0 In parole povere, un termine è meno importante tanto più è presente nel corpus di documenti (ad es. le stop words)
il termine “this“ in Review 2 = TF ( “this“) * IDF (“this“) = 0 La metrica TF-IDF è una delle prime ad essere utilizzate in information retrieval e dai primi motori di ricerca
to trying to understand which are the relevant words on a page, we use a ton of different techniques from information retrieval. And there’s tons of these metrics that have come out over the years.” “ …My general recommendation here is not to focus on these kinds of artificial metrics… because it’s something where on the one hand you can’t reproduce this metric directly because it’s based on the overall index of all of the content on the web. ” https://www.searchenginejournal.com/google-tf-idf/304361/
– anche detto analisi dei gruppi – è un insieme di tecniche che hanno l’obiettivo di raggruppare elementi omogenei tra loro • È tra i principali algoritmi di unsupervised learning, cioè applicabile a dataset poco strutturati (tecnicamente non etichettati) • Gli algoritmi di clustering si possono suddividere in tre macro-gruppi: o partizionali, in cui si formano dei gruppi in base alla distanza dei punti da un centro o gerarchici, i gruppi si formano per rappresentazione ad albero (ad es. per dendrogramma) o density-based, i gruppi si formano analizzando lo spazio intorno ad ogni punto • Nel prosieguo ci soffermiamo sul clustering partizionale (K-means) e density-based (DBSCAN)
un numero di cluster (e relativi centroidi*) 2. Si calcolano le distanze dei punti dai centroidi (ad es. distanza euclidea) 3. Si assegnano i punti al cluster più vicino 4. Si spostano i centroidi in una nuova posizione 5. Si ripete il processo dal punto 2 per un certo numero di volte * I centroidi sono punti principali attorno a cui creare un cluster
punto si calcola un intorno, cioè i punti più vicini 2. Per definire l’intorno di punti occorre decidere: 1. Il raggio massimo dell’intorno 2. Il numero minimo di punti nell’intorno
di nomi per i cluster Assegniamo i nomi, calcoliamo il CTR e ordiniamo i cluster nel dataframe creato Generiamo un file di risutlati e stampiamo un grafico con la posizione dei cluster
Friggitrici generano poche impressioni e CTR bassi: da dismettere? Volantino Friggitrici Letto Camerette Cucina e camerette hanno alti CTR ma impressioni basse: meritano più attenzione! Query su Letto e Divano Letto registrano molte impressioni e un alto CTR: le più performanti! Cucina Divano letto
e ne creiamo una lista con stemming (applicando la funziona creata in precedenza) Generiamo la BOW e applichiamo DBSCAN Raccogliamo i risultati e creiamo un file di output