Python

Noskaņojuma analīze ar TextBlob un Python

Noskaņojuma analīze ar TextBlob un Python
Šajā nodarbībā mēs izmantosim vienu no izcilajām Python pakotnēm - TextBlob, lai izveidotu vienkāršu sentimentālu analizatoru. Mēs visi zinām, ka tvīti ir viens no iecienītākajiem datu kopu piemēriem, kad runa ir par teksta analīzi datu zinātnē un mašīnmācībā. Tas ir tāpēc, ka Tweets ir reāllaika (ja nepieciešams), publiski pieejams (galvenokārt) un atspoguļo patiesu cilvēka uzvedību (iespējams). Tāpēc tvītus parasti izmanto, veicot jebkāda veida jēdzienu vai apmācību pierādījumus, kas saistīti ar dabiskās valodas apstrādi (NLP) un teksta analīzi.

TextBlob izmantošana rūpniecībā

Tāpat kā izklausās, TextBlob ir Python pakete, lai veiktu vienkāršas un sarežģītas teksta analīzes operācijas ar teksta datiem, piemēram, runas marķēšanu, lietvārdu frāžu ekstrakciju, noskaņojuma analīzi, klasifikāciju, tulkošanu un daudz ko citu. Lai gan ir daudz vairāk TextBlob izmantošanas gadījumu, kurus mēs varētu aplūkot citos emuāros, šeit ir analizēti Tweets viņu noskaņojumi.

Analīzes noskaņojumiem ir lielisks praktisks pielietojums daudziem scenārijiem:

Darba sākšana ar TextBlob

Mēs zinām, ka jūs šeit ieradāties, lai apskatītu praktisku kodu, kas saistīts ar sentimentālu analizatoru ar TextBlob. Tāpēc šī sadaļa būs ļoti īsa, lai ieviestu TextBlob jaunajiem lasītājiem. Tikai pirms piezīmes ņemiet vērā, ka mēs izmantojam a virtuālā vide šai nodarbībai, kuru mēs veicām ar šādu komandu

python -m virtualenv textblob
avots textblob / bin / aktivizēt

Kad virtuālā vide ir aktīva, mēs varam instalēt TextBlob bibliotēku virtuālajā env, lai varētu izpildīt nākamos veidotos piemērus:

pip instalēt -U textblob

Kad esat izpildījis iepriekš minēto komandu, tas vēl nav viss. TextBlob nepieciešama arī piekļuve dažiem apmācības datiem, kurus var lejupielādēt ar šādu komandu:

pitons -m textblob.lejupielādēt_korporācijas

Jūs redzēsiet kaut ko līdzīgu, lejupielādējot nepieciešamos datus:

Varat izmantot arī Anaconda, lai palaistu šos vienkāršākos piemērus. Ja vēlaties to instalēt savā datorā, skatiet nodarbību, kurā aprakstīts “Kā instalēt Anaconda Python uz Ubuntu 18.04 LTS ”un dalieties savās atsauksmēs.

Lai parādītu ļoti ātru piemēru TextBlob, šeit ir piemērs tieši no tā dokumentācijas:

no importēt
teksts = ""
Titulētie "Lāse" draudi mani vienmēr ir uzskatījuši par galveno filmu
briesmonis: negausīgi izsalcis, amēbai līdzīga masa, kas spēj iekļūt
praktiski jebkurš aizsarglīdzeklis, kas spēj - kā nolemts ārsts drebuļi
to apraksta - "miesas asimilācija saskarē.
Snide salīdzinājumi ar želatīnu ir nolādēti, tas ir jēdziens ar visvairāk
potenciālo seku postīšana, atšķirībā no pelēkā goo scenārija
ierosināja tehnoloģiju teorētiķi, kas baidījās
mākslīgais intelekts darbojas nikns.
""
lāse = TextBlob (teksts)
izdruka (lāse.tagi)
izdruka (lāse.lietvārds_frāzes)
par sodu blobā.teikumi:
drukāt (teikums.noskaņojums.polaritāte)
lāse.tulkot (uz = "es")

Palaidot iepriekš minēto programmu, mēs iegūsim šādus tagus un visbeidzot emocijas, kuras demonstrē divi teikumi piemēra tekstā:

Vārdi un emocijas palīdz mums noteikt galvenos vārdus, kas faktiski ietekmē noskaņojuma aprēķinu un teiktajam sniegtā teikuma polaritāti. Tas ir tāpēc, ka šo vārdu nozīme un noskaņojums mainās to izmantošanas secībā, tāpēc tas viss ir jāuztur dinamiski.

Leksikā balstīta noskaņojuma analīze

Jebkuru sentimentu var vienkārši definēt kā teikumā izmantoto vārdu semantiskās orientācijas un intensitātes funkciju. Izmantojot uz leksikoniem balstītu pieeju emociju noteikšanai konkrētos vārdos vai teikumos, katrs vārds tiek saistīts ar partitūru, kas apraksta emocijas, kuras vārds izrāda (vai vismaz mēģina izstādīt). Parasti lielākajai daļai vārdu ir iepriekš definēta vārdnīca par viņu leksisko rezultātu, taču, runājot par cilvēku, vienmēr ir domāts sarkasms, tāpēc uz šīm vārdnīcām mēs nevaram paļauties 100%. WordStat Sentiment Dictionary ietver vairāk nekā 9164 negatīvu un 4847 pozitīvu vārdu modeļus.

Visbeidzot, ir vēl viena metode, lai veiktu sentimentu analīzi (ārpus šīs nodarbības jomas) ir mašīnmācīšanās tehnika, taču mēs nevaram izmantot visus ML algoritma vārdus, jo mēs noteikti saskaramies ar problēmām ar pārspīlēšanu. Pirms algoritma apmācības mēs varam piemērot vienu no iezīmju izvēles algoritmiem, piemēram, Či laukums vai Savstarpējā informācija. Mēs ierobežosim diskusijas par ML pieeju tikai šim tekstam.

Izmantojot Twitter API

Lai sāktu saņemt tvītus tieši no Twitter, apmeklējiet lietotņu izstrādātāju mājas lapu šeit:

https: // izstrādātājs.čivināt.com / lv / progr

Reģistrējiet savu pieteikumu, aizpildot šādu veidlapu:

Kad cilnē “Atslēgas un žetoni” ir pieejams viss marķieris, veiciet tālāk norādītās darbības

Mēs varam izmantot taustiņus, lai iegūtu nepieciešamos tvītus no Twitter API, taču mums jāinstalē vēl viena Python pakete, kas mums smagi paceļ, iegūstot Twitter datus:

pip instalēt tweepy

Iepriekš minētā pakete tiks izmantota, lai pabeigtu visu smago komunikāciju ar Twitter API. Tweepy priekšrocība ir tā, ka mums nav jāraksta daudz koda, kad mēs vēlamies autentificēt savu lietojumprogrammu mijiedarbībai ar Twitter datiem, un tas tiek automātiski iesaiņots ļoti vienkāršā API, kas tiek pakļauts Tweepy pakotnei. Iepriekš minēto paketi mēs varam importēt savā programmā kā:

importa tweepy

Pēc tam mums vienkārši jādefinē atbilstoši mainīgie, kur mēs varam turēt no izstrādātāja konsoles saņemtos čivināt taustiņus:

patērētāja_atslēga = '[patērētāja_atslēga]'
consumer_key_secret = '[patērētāja_atslēga_secret]'
access_token = '[access_token]'
access_token_secret = '[access_token_secret]'

Tagad, kad kodā esam definējuši čivināt noslēpumus, mēs beidzot esam gatavi izveidot savienojumu ar čivināt, lai saņemtu tvītus un spriestu par tiem, es domāju, tos analizētu. Protams, savienojums ar čivināt ir jāveido, izmantojot OAuth standartu un Tweepy pakete noderēs, lai izveidotu savienojumu arī:

twitter_auth = tweepy.OAuthHandler (patērētāja_atslēga, patērētāja_atslēga_noslēpums)

Visbeidzot, mums ir nepieciešams savienojums:

api = tweepy.API (twitter_auth)

Izmantojot API instanci, mēs varam meklēt čivināt jebkuru tēmu, kuru tam nododam. Tas var būt viens vārds vai vairāki vārdi. Pat ja mēs iesakām precizēt pēc iespējas mazāk vārdu. Izmēģināsim piemēru šeit:

pm_tweets = api.meklēšana ("Indija")

Iepriekš minētā meklēšana dod mums daudz Tweets, taču mēs ierobežosim saņemto tweets skaitu, lai zvans neaizņemtu pārāk daudz laika, jo tas vēlāk jāapstrādā arī TextBlob paketē:

pm_tweets = api.meklēšana ("Indija", skaits = 10)

Visbeidzot, mēs varam izdrukāt katra čivināt tekstu un ar to saistīto noskaņu:

čivināt vietnē pm_tweets:
drukāt (čivināt.teksts)
analīze = TextBlob (čivināt.teksts)
izdruka (analīze.noskaņojums)

Kad mēs izpildīsim iepriekš minēto skriptu, mēs sāksim saņemt pēdējos 10 minētā vaicājuma pieminējumus, un katrs čivināt tiks analizēts kā noskaņojuma vērtība. Šeit ir rezultāts, ko mēs saņēmām par to pašu:

Ņemiet vērā, ka jūs varētu arī izveidot straumēšanas noskaņojuma analīzes robotu ar TextBlob un Tweepy. Tweepy ļauj izveidot tīmekļa vietnes straumēšanas savienojumu ar Twitter API un ļauj straumēt čivināt datus reāllaikā.

Secinājums

Šajā nodarbībā mēs apskatījām lielisku tekstuālās analīzes paketi, kas ļauj analizēt teksta noskaņu un daudz ko citu. TextBlob ir populārs, jo tas ļauj mums vienkārši strādāt ar teksta datiem, neradot sarežģītus API zvanus. Mēs arī integrējām Tweepy, lai izmantotu čivināt datus. Mēs varam viegli pārveidot lietojumu straumēšanas lietošanas gadījumam ar to pašu paketi un ļoti nedaudzām izmaiņām pašā kodā.

Lūdzu, brīvi dalieties savās atsauksmēs par nodarbību Twitter vietnē @linuxhint un @sbmaggarwal (tas esmu es!).

Tomb Raider for Linux apmācība
Tomb Raider ēna ir divpadsmitais papildinājums Tomb Raider sērijai - darbības piedzīvojumu spēļu franšīzei, kuru izveidoja Eidos Montreal. Spēli gan k...
Kā palielināt FPS Linux?
FPS apzīmē Kadri sekundē. FPS uzdevums ir izmērīt kadru ātrumu video atskaņošanā vai spēļu izrādēs. Vienkāršos vārdos nepārtrauktu pilnekrāna attēlu s...
Populārākās Oculus App Lab spēles
Ja esat Oculus austiņu īpašnieks, jums ir jāsazinās par sānu ielādi. Sānu ielāde ir process, kurā austiņās tiek instalēts saturs, kas nav veikals. Sid...