Piton

Analiza raspoloženja s TextBlobom i Pythonom

Analiza raspoloženja s TextBlobom i Pythonom
U ovoj ćemo lekciji koristiti jedan od izvrsnih Python paketa - TextBlob za izgradnju jednostavnog sentimentalnog analizatora. Svi znamo da su tweetovi jedan od omiljenih primjera skupova podataka kada je riječ o analizi teksta u znanosti o podacima i strojnom učenju. To je zato što su tweetovi u stvarnom vremenu (ako je potrebno), javno dostupni (uglavnom) i predstavljaju istinsko ljudsko ponašanje (vjerojatno). Zbog toga se tweetovi obično koriste dok se vrše bilo kakve vrste dokaza o konceptima ili vodičima vezanim uz obradu prirodnog jezika (NLP) i analizu teksta.

Korištenje TextBloba u industriji

Baš kao što zvuči, TextBlob je Python paket za izvođenje jednostavnih i složenih operacija analize teksta na tekstualnim podacima kao što su označavanje govora, izdvajanje imenica fraza, analiza sentimenta, klasifikacija, prijevod i još mnogo toga. Iako postoji puno više slučajeva upotrebe TextBloba koje bismo mogli obraditi na drugim blogovima, ovaj pokriva analizu tweetova u vezi s njihovim osjećajima.

Sentimenti analize izvrsno se koriste u mnogim scenarijima:

Početak rada s TextBlobom

Znamo da ste ovdje došli vidjeti neki praktični kôd koji se odnosi na sentimentalni analizator s TextBlobom. Zbog toga ćemo ovaj odjeljak skratiti zbog uvođenja TextBloba za nove čitatelje. Samo napomena prije početka je da koristimo virtualno okruženje za ovu lekciju koju smo napravili sa sljedećom naredbom

python -m virtualenv textblob
izvor textblob / bin / activate

Jednom kada je virtualno okruženje aktivno, možemo instalirati TextBlob knjižnicu unutar virtualnog okruženja tako da se mogu izvršavati primjeri koje sljedeći kreiramo:

pip install -U textblob

Jednom kada pokrenete gornju naredbu, to nije to. TextBlob također treba pristup nekim podacima o treningu koji se mogu preuzeti pomoću sljedeće naredbe:

python -m textblob.preuzimanje_korpora

Nešto slično ćete vidjeti preuzimanjem potrebnih podataka:

Anacondu možete koristiti i za pokretanje ovih primjera, što je lakše. Ako ga želite instalirati na svoj stroj, pogledajte lekciju koja opisuje „Kako instalirati Anaconda Python na Ubuntu 18.04 LTS ”i podijelite svoje povratne informacije.

Da bismo prikazali vrlo brz primjer za TextBlob, evo primjera izravno iz njegove dokumentacije:

iz textblob uvoza TextBlob
text = "'
Titularna prijetnja Bloba uvijek mi se činila vrhunskim filmom
čudovište: nezasitno gladna masa poput amebe koja može prodrijeti
praktički bilo koji zaštitni mehanizam, sposoban za - kao osuđeni liječnik hladnokrvno
opisuje to - "asimiliranje mesa pri kontaktu.
Usporedbe slajdova s ​​želatinom neka su proklete, to je koncept s najviše
razarajuće potencijalne posljedice, za razliku od sivog scenarija
predložili tehnološki teoretičari kojih se plaše
umjetna inteligencija raširena.
"'
blob = TextBlob (tekst)
ispis (blob.oznake)
ispis (blob.imenske fraze)
za rečenicu u blobu.rečenice:
ispis (rečenica.sentiment.polaritet)
mrlja.prevedi (na = "es")

Kada pokrenemo gornji program, dobit ćemo sljedeće riječi s oznakama i na kraju emocije koje pokazuju dvije rečenice u primjeru teksta:

Riječi s oznakama i osjećaji pomažu nam prepoznati glavne riječi koje zapravo utječu na izračun osjećaja i polaritet rečenice dostavljene. To je zato što se značenje i osjećaji riječi mijenjaju redoslijedom upotrebe, pa sve to treba biti dinamično.

Analiza raspoloženja na temelju leksikona

Bilo koji sentiment jednostavno se može definirati kao funkcija semantičke orijentacije i intenziteta riječi korištenih u rečenici. Uz pristup zasnovan na leksikonu za prepoznavanje emocija u danim riječima ili rečenicama, svaka je riječ povezana s partiturom koja opisuje emociju koju riječ pokazuje (ili barem pokušava pokazati). Obično većina riječi ima unaprijed definirani rječnik o njihovom leksičkom rezultatu, ali kad je riječ o čovjeku, uvijek je namijenjen sarkazam, pa ti rječnici nisu nešto na što se možemo osloniti 100%. Riječnik izraza riječi WordStat uključuje više od 9164 negativnih i 4847 pozitivnih obrazaca riječi.

Konačno, postoji još jedna metoda za analizu osjećaja (izvan opsega ove lekcije) koja je tehnika strojnog učenja, ali ne možemo koristiti sve riječi u algoritmu ML jer ćemo se sigurno suočiti s problemima s pretjeranom opremom. Možemo primijeniti jedan od algoritama za odabir značajki poput Chi Square ili Uzajamne informacije prije nego što osposobimo algoritam. Raspravu o pristupu ML-u ograničit ćemo samo na ovaj tekst.

Korištenje Twitter API-ja

Da biste počeli dobivati ​​tweetove izravno s Twittera, posjetite početnu stranicu programera aplikacije ovdje:

https: // programer.cvrkut.com / hr / apps

Registrirajte svoju prijavu popunjavanjem ovako datog obrasca:

Nakon što na raspolaganju imate sve tokene na kartici "Ključevi i žetoni":

Ključeve možemo koristiti za dobivanje potrebnih tweetova s ​​Twitter API-ja, ali moramo instalirati samo još jedan Python paket koji nam otežava dobivanje podataka s Twittera:

pip instalirati tweepy

Gornji paket koristit će se za kompletnu svu tešku komunikaciju s Twitter API-jem. Prednost Tweepyja je u tome što ne moramo pisati puno koda kada želimo provjeriti autentičnost svoje aplikacije za interakciju s Twitter podacima, a ona se automatski omotava u vrlo jednostavan API koji je izložen kroz Tweepy paket. Gore navedeni paket možemo uvesti u naš program kao:

uvoz tweepy

Nakon toga samo trebamo definirati odgovarajuće varijable u kojima možemo držati Twitter tipke koje smo dobili s razvojne konzole:

consumer_key = '[potrošački_ključ]'
consumer_key_secret = '[potrošački_key_secret]'
access_token = '[pristupni_token]'
access_token_secret = '[access_token_secret]'

Sad kad smo u kodu definirali tajne za Twitter, napokon smo spremni uspostaviti vezu s Twitterom za primanje Tweetova i njihovo prosuđivanje, mislim, njihovo analiziranje. Naravno, vezu s Twitterom treba uspostaviti pomoću OAuth standarda i Paket Tweepy dobro će doći za uspostavljanje veze također:

twitter_auth = tweepy.OAuthHandler (potrošački_ključ, potrošačka_tajna_tajna)

Napokon nam treba veza:

api = tweepy.API (twitter_auth)

Koristeći instancu API-ja, na Twitteru možemo pretraživati ​​bilo koju temu koju mu proslijedimo. To može biti jedna riječ ili više riječi. Iako ćemo preporučiti što manje riječi za preciznost. Pokušajmo ovdje sa primjerom:

pm_tweets = api.traži ("Indija")

Gornja pretraga daje nam mnogo tweetova, ali mi ćemo ograničiti broj tweetova koje dobijemo natrag, tako da poziv ne traje previše vremena, jer ga kasnije treba obraditi i paket TextBlob:

pm_tweets = api.pretraživanje ("Indija", broj = 10)

Napokon, možemo ispisati tekst svakog Tweet-a i raspoloženje povezano s njim:

za tweet u pm_tweets:
ispis (tweet.tekst)
analiza = TextBlob (tweet.tekst)
ispis (analiza.sentiment)

Nakon što pokrenemo gornju skriptu, počet ćemo dobivati ​​posljednjih 10 spominjanja spomenutog upita i svaki će tweet biti analiziran na vrijednost osjećaja. Evo rezultata koje smo dobili za isti:

Imajte na umu da biste također mogli izraditi bota za analizu raspoloženja za streaming s TextBlobom i Tweepyjem. Tweepy omogućuje uspostavljanje websocket streaming veze s Twitter API-jem i omogućuje strujanje Twitter podataka u stvarnom vremenu.

Zaključak

U ovoj smo lekciji pogledali izvrstan paket za analizu teksta koji nam omogućuje analizu tekstualnih osjećaja i još mnogo toga. TextBlob je popularan zbog načina na koji nam omogućuje jednostavan rad s tekstualnim podacima bez ikakvih gnjavaža složenih API poziva. Također smo integrirali Tweepy kako bismo koristili Twitter podatke. Pomoću istog paketa i vrlo malo promjena u samom kodu možemo lako prilagoditi upotrebu u streaming slučaj.

Molimo podijelite svoje povratne informacije o lekciji na Twitteru s @linuxhint i @sbmaggarwal (to sam ja!).

Najbolji emulatori igraće konzole za Linux
Ovaj će članak navesti popularni softver za emulaciju igraće konzole dostupan za Linux. Emulacija je sloj kompatibilnosti softvera koji oponaša hardve...
Najbolji Linux Distros za igre na sreću 2021. godine
Linux operativni sustav daleko je prevalio svoj izvorni, jednostavni izgled zasnovan na poslužitelju. Ovaj se OS posljednjih godina izuzetno poboljšao...
Kako snimiti i struji svoju igraću sesiju na Linuxu
U prošlosti se igranje igara smatralo samo hobijem, ali s vremenom je igračka industrija zabilježila ogroman rast u pogledu tehnologije i broja igrača...