Cum să construiți un program Python de analiză a sentimentelor Twitter? [Tutorial pas cu pas]

Publicat: 2020-08-07

Sursă

Pe măsură ce companiile devin din ce în ce mai mult bazate pe date, o tehnică de învățare automată numită „Analiza sentimentelor” câștigă o popularitate imensă zi de zi. Analizează datele/textul digital prin procesarea limbajului natural (NLP) pentru a găsi polaritatea (pozitivă, negativă, neutră), sentimentele și emoțiile (furios, fericit, trist etc.) exprimate în text.

Întrucât Twitter este una dintre cele mai cuprinzătoare surse de conversații live, publice din întreaga lume, firmele de afaceri, grupurile politice etc. sunt interesate să efectueze „Analiza sentimentelor” a tweet-urilor pentru a înțelege emoțiile/opiniile pieței țintă sau pentru a studia piața concurenților. . Deși sunt gata să folosească programe în acest scop, dar pentru a realiza predicții cu un nivel ridicat de acuratețe, specifice anumitor criterii și domenii, cea mai bună modalitate este de a crea un model sau program personalizat Twitter Sentiment Analysis Python .

Cuprins

Tutorial pas cu pas: Creați un program de analiză a sentimentelor Twitter folosind Python

Acest tutorial își propune să creeze un program de analiză a sentimentelor Twitter folosind Python. Programul rezultat ar trebui să fie capabil să analizeze tweet-urile preluate de pe Twitter și să înțeleagă sentimentele textului, precum polaritatea și subiectivitatea acestuia.

Avantajele

1. În primul rând sunt cunoștințele de bază de codare/programare ale Python.

2. Instrumente care urmează să fie instalate pe computer:

  • Piton
  • Biblioteci: Tweepy, text blob, word cloud, panda, NumPy, matplotlib

(Tweepy este biblioteca oficială Python pentru API-ul Twitter care îi permite lui Python să comunice cu platforma Twitter)

3. Un cont Twitter

4. O aplicație Twitter trebuie să fie creată și autentificată de către Twitter: acest lucru este necesar pentru a obține „cheia de consumator și jetoanele de acces” de care veți avea nevoie în programare.

Dacă nu aveți deja o aplicație Twitter creată în acest scop, atunci iată cum să o creați.

Citiți mai multe: Tutorial Python NumPy: Învățați Python Numpy cu exemple

Cum se creează o aplicație Twitter?

  • Accesați site-ul pentru dezvoltatori Twitter: dev.twitter.com.
  • Conectați-vă cu contul dvs. de Twitter
  • Accesați „Aplicațiile mele”
  • Faceți clic pe „Creați o nouă aplicație”.
  • Apoi, trebuie să completați un formular, așa cum se arată mai jos.

Sursă

  • Apoi, faceți clic pe „Creați-mi simbolul de acces”.
  • În pagina următoare, alegeți opțiunea „Citire și scriere” din coloana „Tip de aplicație”.

Vi se vor furniza Setările dvs. OAuth pentru aplicația Twitter, care includ toate detaliile necesare legate de cheia dvs. de consumator, secretul de consumator, jetonul de acces, secretul jetonului de acces etc. Trebuie să rețineți aceste detalii deoarece aceste acreditări API vă vor permite să preluați tweet-uri de pe twitter. Mai bine să îl salvați într-un fișier CSV pe computer, mai târziu puteți încărca direct fișierul CSV în programul dvs. pentru a citi acreditările API

Începeți cu crearea programului Python de analiză a sentimentelor Twitter

1. Importați bibliotecile : Tweepy, text blob, word cloud, panda, NumPy, matplotlib

2. Autentificați aplicația Twitter: În continuare, trebuie să vă autentificați aplicația Twitter folosind acreditările pentru Setări OAuth pentru aplicația Twitter, denumite și acreditări API Twitter. Pentru aceasta, trebuie să creați un obiect de autentificare, folosind codurile așa cum se arată în imaginea de mai jos.

Sursă

Pentru a completa acreditările Twitter API, puteți fie să încărcați fișierul CSV, fie să copiați manual și lipiți detaliile acreditării.

3. Preluați tweet-urile de la utilizatorul Twitter: Acum, pentru a prelua tweet-urile, mai întâi trebuie să alegeți un utilizator Twitter ale cărui tweet-uri doriți să le analizați pentru a înțelege sentimentul exprimat în el. Sa spunem; vrei să vezi dacă tweet-urile lui „UserXYZ” sunt pozitive sau negative sau neutre, efectuând o analiză de sentiment a celor 100 de tweet-uri de către UserXYZ.

Cod pentru preluarea tweet-urilor

posturi = api.user_timeline(screen_name = ”UserXYZ”, count= 100, Lang =”en”, tweet_mode=”extended”)

Rularea comenzii de mai sus va afișa tweet-urile.

4. Creați un cadru de date: Acum, trebuie să creați un cadru de date pentru tweet-urile pe care le-ați preluat. Să presupunem că numiți prima coloană a df-ului dvs. drept „Tweets” și va conține toate tweet-urile răspândite pe 100 de rânduri, deoarece analizați 100 de tweet-uri.

Df = pd.dataframe( [tweet.full_text for tweet in posts] , columns=[ 'Tweet'])

5. Curățați textul: curățarea textului tweet-urilor este importantă pentru succesul programului dvs. python de analiză a sentimentelor pe Twitter, deoarece vor exista multe simboluri nedorite precum @, #, re-tweet-uri, hyperlink-uri în URL-uri etc. Aici dvs. biblioteca python intră în uz.

Obțineți subiectivitatea și polaritatea: după ce ați curățat textul, trebuie să creați două funcții folosind biblioteca TextBlob python pentru a obține subiectivitatea și polaritatea tweet-urilor. Subiectivitatea arată cât de opinie este textul, iar polaritatea descrie pozitivitatea sau negativitatea textului. Cel mai bine ar fi să scrieți scriptul python pentru a crea încă două coloane în cadrul de date pentru a găzdui Subiectivitate și Polaritate. Deci, acum cadrul de date va avea trei coloane (prima pentru tweet-uri, a doua pentru subiectivitate, a treia pentru polaritate)

Codurile pentru crearea funcțiilor Subiectivitate și Polaritate sunt următoarele:

Sursă

După ce rulați codul, veți vedea scorurile subiectivității și polarității fiecărui tweet afișate în coloanele respective. TextBlob descrie polaritatea pe o scară de la 1 la -1. Deci, dacă un tweet are polaritatea de -0,4 înseamnă că este ușor negativ, iar dacă are o subiectivitate de 0,6, atunci este destul de subiectiv.

6. În continuare, puteți alege să includeți un nor de cuvinte în programul dvs. Twitter Sentiment Analysis Python , deoarece norii de cuvinte sunt populari și ca tehnică de vizualizare a datelor utilizată pentru analiza sentimentelor, în care dimensiunea cuvintelor indică importanța acestuia.

Exemplu de WordCloud:

Sursă

Bibliotecile matplotlib, Pandas și WordCloud vor intra în acțiune pe care le-ați importat deja. Pentru a reprezenta mai întâi un nor de cuvinte, trebuie să creați o variabilă; să-i denumim „allwords” pentru a reprezenta toate tweet-urile din coloana „Tweets” a cadrului de date.

Cod pentru crearea WordCloud

allwords = ' '.join( [twts pentru twts în df [ 'Tweets' ]] )

WordCloud = WordCloud (lățime =xxx, înălțime =xxx, randon_state =xxx, max_font_size =xxx. generate (allwords)

plt.imshow(wordcloud)

plt.axis(„off”)

plt.show()

7. Pe măsură ce aveți scorurile de polaritate pentru fiecare tweet, puteți începe să calculați analize pozitive, negative și neutre ale tweet-urilor. Pentru aceasta, trebuie să creați o funcție, să o numim „Analiză”, în care puteți atribui scorul 0 la neutru, <0 la negativ și >0 la pozitiv.

Analiza def (scor):

Dacă scorul < 0

returnează „Negativ”.

scor elif == 0

întoarcere „neutru”.

altfel,

returnează „pozitiv”.

Apoi, pentru a găzdui rezultatele analizei sentimentelor tweet-urilor, creați o nouă coloană în cadrul de date, să-i denumim „TwtAnalysis” și apoi să scriem următorul cod:

df [ 'TwtAnalysis' ] = df [ 'Polaritate']. aplica (Analiză)

8. Noul cadru de date va avea coloana adăugată numită „TwtAnalysis” și se va referi la fiecare tweet fie pozitiv, negativ sau neutru, în funcție de scorul său de polaritate. Un exemplu este prezentat mai jos în imagine:

Sursă

9. Odată ce ați clasificat tweet-urile ca pozitive, negative și neutre, puteți continua să vă construiți programul Twitter Sentiment Analysis Python pentru a reprezenta datele în diferite formate, cum ar fi:

  • Obțineți procentul de tweet-uri pozitive, negative sau neutre.
  • Tipăriți separat toate comentariile pozitive sau tweet-urile negative sau neutre
  • Creați o diagramă de analiză vizuală a sentimentelor tweet-urilor pozitive, negative și neutre și multe altele.

Citește și: Top 9 biblioteci Python pentru învățarea automată

Concluzie

Programul Twitter Sentiment Analysis Python , explicat în acest articol, este doar unul modalitate de a crea un astfel de program. Dezvoltatorul poate personaliza programul în multe moduri pentru a se potrivi cu specificațiile pentru a obține cea mai mare acuratețe în citirea datelor, aceasta este frumusețea programării acestuia prin python, care este un limbaj grozav, susținut de o comunitate activă de dezvoltatori și prea multe biblioteci.

Python are o arie imensă în spațiul învățării automate și al științei datelor. Cei care sunt în programare de ceva vreme știu bine că învățarea automată va continua să fie una dintre descoperirile viitoare ale programării.

Dacă doriți să obțineți o experiență de învățare cuprinzătoare și structurată, și dacă sunteți interesat să aflați mai multe despre învățarea automată, consultați Diploma PG de la IIIT-B și upGrad în Învățare automată și AI, care este concepută pentru profesioniști care lucrează și oferă peste 450 de ore de pregătire riguroasă, peste 30 de studii de caz și sarcini, statutul de absolvenți IIIT-B, peste 5 proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Care este importanța funcțională a analizei sentimentelor pe rețelele sociale?

În această epocă a rețelelor sociale, opiniile consumatorilor au o putere infinită de a crea sau de a distruge un brand. Analiza sentimentelor este cea mai bună modalitate de a înțelege cu acuratețe factorii care stau la baza opiniilor și emoțiilor consumatorilor. Cu datele disponibile din analiza sentimentelor, companiile își pot găsi publicul țintă, pot identifica factorii de influență în rețelele sociale pentru marca lor și pot identifica tendințele emergente ale pieței. Mai mult, analiza sentimentelor pe platformele de social media oferă, de asemenea, o idee cuprinzătoare despre sănătatea mărcii lor; companiile pot primi feedback sincer al consumatorilor despre produsele și serviciile nou lansate pentru a se îmbunătăți. De asemenea, este eficient în gestionarea reputației online prin identificarea mai bună a domeniilor de îmbunătățire și rezolvarea problemelor.

Poți să înveți Python pe cont propriu?

Dacă aveți un anumit nivel de experiență în programare, puteți începe cu siguranță să învățați Python pe cont propriu. Python vine cu o structură sintactică relativ simplă și este, de asemenea, intuitiv, făcându-l ușor de înțeles chiar și pentru începători. În plus, este ușor să instalați pachetul și să-l executați pe mașina dvs. de oriunde. Vă puteți accelera învățarea prin înscrierea la cursuri Python, participând la bootcamp-uri de codare. Cu o comunitate activă de dezvoltatori care este întotdeauna dispusă să extindă suportul, o abundență de resurse de învățare și documentație, începătorii pot învăța elementele fundamentale ale Python în aproximativ 7-8 săptămâni.

Ce este mai greu de învățat între Python și C++?

Python și C++ sunt limbaje de programare complet diferite, cu un comportament și caracteristici complet diferite. Cu toate acestea, ambele sprijină puternic programarea orientată pe obiecte. Dar având în vedere cadrul general Python, este simplu, mult mai ușor și mai rapid de învățat decât C++. De fapt, mulți oameni învață Python pentru a experimenta cum se simte codarea simplă. Python este open-source, gratuit și oferă o fiabilitate și o ușurință extraordinare atunci când vine vorba de dezvoltarea aplicațiilor complexe de învățare automată. În timp ce C++ este mai eficient în ceea ce privește performanța, nu este considerat adecvat față de Python pentru proiectele de învățare automată.