Python Instagram Scraper: emoji sentiment analysis

Le interiezioni nascono dall’esigenza di migliorare la comunicazione verbale (“Boh è il mio nuovo super potere!”, 2019), allo stesso modo in cui le emoticons rendono la comunicazione scritta più chiara e meno ambigua.
Le emoticons, che sono molto più recenti delle interiezioni, spesso imitano le espressioni facciali 🙂 😉 , che permettono alle persone di capirsi dal vivo con immediatezza, oppure di dire qualcosa per fare intendere il contrario (ad esempio quando facciamo ironia).

Le emoticons sono spesso presenti nei commenti di Instagram, come brand o influencer  sarebbe molto utile comprendere le emozioni, il sentiment dei propri followers attraverso l’analisi del sentiment delle emoji.

1.0 – Emoji sentiment ranking

Nel 2015 i ricercatori Petra Kralj Novak, Jasmina Smailović, Borut Sluban e Igor Mozetič dell’Istituto Jožef Stefan di Lubiana, in Slovenia, hanno rilasciato il primo sentiment ranking per le emoji su Twitter . Questa ricerca potrebbe essere un buon punto di partenza per avere un ranking iniziale dei commenti su Instagram.

Iniziamo con crearci una classe che dovrà contenere i metodi per lo scrapping della tabella
Emoji Sentiment Ranking v1.0, per poi poter salvare i dati in una cartella e per poi poterla leggere.

Decidiamo di salvare ogni riga della tabella in formato json, prendendo però solo alcuni campi come l’unicode name da utilizzare come descrizione dell’emoji ed il sentiment score dando  una polarity positiva se maggiore di zero, negativa se minore, neutra se uguale a zero.

Già che ci siamo dal formato json ci creiamo subito il datamodel dei campi che andremo ad esporre e che utilizzeremo dopo nell’analisi delle emoji.

Per il momento salviamo la tabella in una cartella di default “ranking_emojis” e proviamo a leggere i dati.

1.1 – Emoji Ranking

2.0 – Emoji analysis

Il successo a livello mondiale delle emoji è dimostrato dall’utilizzo poco convenzionale di tradurre i classici come Moby Dick in emoji o da Coca-Cola che nel 2015 per una campagna pubblicitaria rese possibile l’inserimento di una emoji in un indirizzo web.

Alla loro nascita le emoji erano utilizzate per lo più per comunicarci il tempo, le fasi della luna nei cercapersone, ma oggi sono ci aiutano a comprendere i messaggi testuali (e-mail, chat, commenti) fornendoci un contesto da cui poter estrarre le emozioni.

Prendiamo come esempio il commento di un’utente che abbia utillizato le emojis per dimostrare il proprio apprezzamento ad un autoritratto di Vincent van Gogh:

E vediamo che è stato riconosciuto l’utilizzo del cuore rosso come emoji e che lo score è di 0.746.

Un aspetto interessante emerso dalla ricerca  dell’Istituto Jožef Stefan di Lubiana è che i tweet contenenti delle emoji tendono ad avere un sentiment più positivo di quelli senza. Altro aspetto è la posizione delle emoji nei tweet: più carica sentimentale ha un’emoji, più è probabile che appaia alla fine dei tweet. Chissà quali sarebbero i risultati con i commenti di Instagram?

2.1 – Un po’ di magia