Entity Cloud: perché può servirti? (Applicazione Pratica)

Premi invio per vedere i risultati oppure esc per uscire

Entity Cloud: perché può servirti?

Entity Cloud è un nome che mi è venuto in mente l’altra quando pensavo a come rendere automatica l’estrazione di entità da una serie di risorse web.

Questo perché mi interessava integrarlo con il software che sto sviluppando topic finder. Utile per l’analisi dei competitor.

Piccola parentesi. 

Per il momento devo ancora mettere a budget il costo del server quindi il progetto è ancora in alto mare.

Ritornando a noi.

Quando devi scrivere un articolo ottimizzato per i motori di ricerca cosa guardi? Immagino gli argomenti trattati dagli altri e quello che la gente dice in giro.

Diciamo che questo è il tuo, il mio e magari il procedimento di molte persone.

Ma aspetta un attimo!

In giro non si dice che google diventerà sempre più bravo ad estrarre entità dai testi e quindi a capire in maniera più precisa quello di cui si sta parlando?

Quindi mi sono chiesto: “come posso estrarre in maniera automatica le entità dei primi 20 siti web presenti in SERP?”

Perché i primi 20? Perché dovrebbero essere quelli più pertinenti e rilevanti all’esigenza informativa espressa dall’utente.

Lo so non è sempre vero ma partiamo dall’assunto che lo sia e quindi:

  • Quali entità possiamo estrarre?
  • Come possiamo filtrare il rumore di fondo dato da entità come ad esempio P.IVA?

Ecco quello che ho pensato …

Grazie alle API messe a disposizione da un progetto che adoro e che si chiama Dandelion ho sviluppato un piccolo script.

Lo script analizza la SERP ed esamina solamente le risorse html escludendo video e immagini, per ovvie ragioni.

Una volta ottenute e scaricate le pagine dovevo ricavarmi le entità associate ad esse.

Qui ci viene in aiuto il servizio DataTXT di Dandelion  mette a disposizione circa 1.000 crediti al giorno gratis per elaborare i nostri testi. Ogni chiamata ha un costo di 2 crediti. Quindi per estrarre tutte le entità da 20 risorse dobbiamo “pagare” 40 crediti.

Dettagli della chiamata:

  • Endpoint: http://api.dandelion.eu/datatxt/nex/v1
  • Lingua: it
  • Indirizzo risorsa: www.luigiluongo.com
  • App ID: vi viene assegnato al momento dell’iscrizione gratuita
  • App Key: vi viene assegnato al momento dell’iscrizione gratuita

Richiesta da effettuare:

La risposta alla richiesta avrà i seguenti campi:

In PHP potete convertire la risposta in formato JSON ad array associativo tramite la funzione json_decode($risposta, true)

La riga 4 e la riga 9 contengono l’entità e la label. Alla riga 5 invece troviamo il livello di confidenza espressa con un valore tra 0 e 1. Infine alla riga 8 la URI associata a Wikipedia.

App KEY e APP ID Dandelion

Ci troviamo con 20 risorse HTML e l’integrazione con l’entity extractor di Dandelion e ora?

Abbiamo un mare di entità estratte dal corpus dei documenti. 20 risultati sono un corpus un po’ limitato però per il momento accontentiamoci. A questo punto dobbiamo estrarre un valore informativo da questi dati.

Per la mia idea e il mio progetto mi faceva comodo estrarre le entità più utilizzate e quelle meno. Come fare?

Utilizziamo la funzione distribuzione di frequenza.

Per calcolare la distribuzione di frequenza in maniera corretta dobbiamo trasformare in minuscolo le entità trovate per avere una lista normalizzata di termini da confrontare.

Abbiamo però ancora un problema.

Che rappresentazione grafica utilizzare?

All’inizio volevo utilizzare un istogramma ma poi ho pensato che sfruttare il concetto di TAG Cloud anche per le entità poteva diventare una soluzione interessante e vincente per valutare a colpo d’occhio le entità più utilizzate e quelle meno.

Ecco quindi il risultato

Query di ricerca: bulbi autunnali

Bulbi autunnali: entity cloud

Query di ricerca: serramenti in pvc

Serramenti in PVC

Query di ricerca: stitichezza (un omaggio a Simone Righini, articolo sulla stitichezza, un asso non per la stitichezza 🙂 ma per il posizionamento)

Se stai cercando la parola cacca non la trovi perché non c’è ho già guardato anch’io.

stitichezza

Quali sono i risvolti pratici?

  • Possiamo utilizzare l’entity cloud nella scrittura di una articolo perché sappiamo quali sono le entità connesse a quel determinato argomento
  • Possiamo estrarre eventuali topic affini e utilizzarli come spunti per intercettare altre esigenze informative
  • Analizzare i testi dei competitor

Alla prossima e per dubbi o domande il box dei commenti può fare al caso tuo!

Commenti

4 Commenti

simone

ciao grazie per la citazione, purtroppo la cosa difficile è capire come sono correlate le varie “entità”, non solo la loro importanza relativa al contenuto in questione, è possibile vedere altri tipi di visualizzazioni che magari associno ad albero le entity con le frasi in cui compaiono o accando ad entity “correlate” ?

Luigi Luongo

Ciao Simone, mi piacerebbe farlo evolvere iniziando a lavorare sulla distanza tra le entità in una frase e provare ad utilizzarla come parametro per un algoritmo di clustering che devo ancora capire quale (forse il k-means). In questo modo dovrei riuscire a rispondere alla domanda: quali “entità” sono correlate tra loro perché fanno parte dello stesso cluster.
Non so se ne viene fuori qualcosa di sensato. Mi incuriosiva iniziare ad esplorare questa direzione. Che ne pensi?

Francesco Margherita

Ciao Luigi, il tuo articolo è decisamente interessante. Potrebbe forse funzionare meglio se tu trovassi il modo di estrarre la cacca. Perché è questo il punto. Avrei bisogno di una scansione delle entità a partire non dalla tua key d’interesse, ma da qualcos’altro. Che ne pensi?

Luigi Luongo

Ciao Fra, mi avete dato tra tu e Simone alcuni spunti su cui riflettere. Devo far girare un po’ i neuroni e provare innanzitutto a capire come posso estrarre il “qualcos’altro” ma principalmente che cos’è questo qualcos’altro. Qualcosa mi frulla in testa ma devo cercare di concretizzarlo perché adesso è ancora un po’ fumoso.
Stay tuned:-)


Lascia un Commento

Time limit is exhausted. Please reload CAPTCHA.

Luigi Luongo

Costanza, passione e tanta voglia di imparare cose nuove! Sono un consulente SEO freelance laureato in Ingegneria Informatica al Politecnico di Torino. Benvenuto nel mio ufficio!