„Python“

Sentimentų analizė naudojant „TextBlob“ ir „Python“

Sentimentų analizė naudojant „TextBlob“ ir „Python“
Šioje pamokoje naudosime vieną iš puikių „Python“ paketų - „TextBlob“, kad sukurtume paprastą sentimentalų analizatorių. Visi žinome, kad „tweet“ yra vienas mėgstamiausių duomenų rinkinių pavyzdžių, kai reikia analizuoti duomenų mokslą ir mašininį mokymąsi. Taip yra todėl, kad „Tweets“ yra realiuoju laiku (jei reikia), viešai prieinama (dažniausiai) ir atspindi tikrąjį žmogaus elgesį (tikriausiai). Štai kodėl tweetai paprastai naudojami atliekant bet kokio tipo sąvokas ar mokymo programas, susijusias su natūralios kalbos apdorojimu (NLP) ir teksto analize.

„TextBlob“ naudojimas pramonėje

Kaip skamba, „TextBlob“ yra „Python“ paketas, skirtas atlikti paprastas ir sudėtingas teksto duomenų analizės operacijas, pvz., Kalbos žymėjimą, daiktavardžių frazių išskyrimą, nuotaikos analizę, klasifikavimą, vertimą ir dar daugiau. Nors yra daug daugiau „TextBlob“ naudojimo atvejų, kuriuos galėtume aptarti kituose tinklaraščiuose, šis apima „Tweets“ analizę pagal jų nuotaikas.

Analizės nuotaikos puikiai tinka daugeliui scenarijų:

Darbo su „TextBlob“ pradžia

Žinome, kad čia atėjote pamatyti praktinio kodo, susijusio su sentimentaliu analizatoriumi su „TextBlob“. Štai kodėl mes praleisime šį skyrių labai trumpai, kad pristatytume „TextBlob“ naujiems skaitytojams. Prieš pradėdami atkreipkite dėmesį, kad mes naudojame a virtuali aplinka šiai pamokai, kurią atlikome su tokia komanda

python -m virtualenv textblob
source textblob / bin / aktyvuoti

Kai virtuali aplinka bus aktyvi, mes galime įdiegti „TextBlob“ biblioteką virtualiame „env“, kad būtų galima vykdyti toliau sukurtus pavyzdžius:

„pip install -U textblob“

Kai paleisite aukščiau nurodytą komandą, tai ne viskas. „TextBlob“ taip pat reikia prieigos prie kai kurių treniruočių duomenų, kuriuos galite atsisiųsti naudodami šią komandą:

pitonas -m textblob.parsisiųsti_korpora

Pamatysite kažką panašaus, atsisiųsdami reikiamus duomenis:

Taip pat galite naudoti „Anaconda“, kad paleistumėte šiuos pavyzdžius, o tai yra paprasčiau. Jei norite jį įdiegti savo kompiuteryje, peržiūrėkite pamoką, kurioje aprašyta „Kaip įdiegti„ Anaconda Python “į„ Ubuntu 18 “.04 LTS “ir pasidalykite savo atsiliepimais.

Norėdami parodyti labai greitą „TextBlob“ pavyzdį, pateikite pavyzdį tiesiai iš jo dokumentacijos:

importuoti iš
tekstas = ""
Titulinė „Blobo“ grėsmė visada man pasirodė kaip pagrindinis filmas
pabaisa: nepasotinamai alkana, į amebą panaši masė, galinti prasiskverbti
praktiškai bet kokia apsaugos priemonė, galinti - kaip pasmerktas daktaras
apibūdina tai - „įsisavinant kūną kontakte.
„Snide“ palyginimai su želatina turi būti prakeikti, tai yra koncepcija, kurios yra daugiausiai
niokojantis galimas pasekmes, skirtingai nei pilkojo goo scenarijus
pasiūlė technologijos teoretikai bijodami
dirbtinis intelektas siaučia.
""
blob = TextBlob (tekstas)
spausdinti (blob.žymos)
spausdinti (blob.veiksmažodžių frazės)
už bausmę boboje.sakiniai:
spausdinti (sakinys.sentimentas.poliškumas)
dėmė.versti (į = "es")

Vykdydami pirmiau minėtą programą gausime šiuos žyminius žodžius ir galiausiai emocijas, kurias demonstruoja du sakiniai pavyzdiniame tekste:

Žymų žodžiai ir emocijos padeda mums nustatyti pagrindinius žodžius, kurie iš tikrųjų daro įtaką nuotaikos apskaičiavimui ir sakinio poliškumui. Taip yra todėl, kad ta žodžių reikšmė ir nuotaika keičiasi jų vartojimo tvarka, todėl visa tai reikia išlaikyti dinamišką.

Leksikonu pagrįsta sentimentų analizė

Bet kurį sentimentą galima tiesiog apibrėžti kaip sakinyje vartojamų žodžių semantinės orientacijos ir intensyvumo funkciją. Taikant leksika pagrįstą požiūrį į emocijų nustatymą tam tikruose žodžiuose ar sakiniuose, kiekvienas žodis susiejamas su balais, apibūdinančiais emocijas, kurias žodis demonstruoja (arba bent jau bando eksponuoti). Paprastai dauguma žodžių turi iš anksto apibrėžtą žodyną apie savo leksikos balą, tačiau kalbant apie žmogų, visada yra sarkazmas, todėl šiais žodynais mes negalime remtis 100%. „WordStat“ sentimentų žodyne yra daugiau nei 9164 neigiamų ir 4847 teigiamų žodžių šablonai.

Galiausiai yra dar vienas būdas atlikti nuotaikų analizę (už šios pamokos taikymo sritį) yra mašininio mokymosi technika, tačiau mes negalime panaudoti visų ML algoritmo žodžių, nes tikrai susidursime su problemomis dėl per didelio pritaikymo. Prieš mokydami algoritmą, galime pritaikyti vieną iš funkcijų pasirinkimo algoritmų, pvz., „Chi Square“ arba „Abipusė informacija“. Apibendrinsime tik ML teksto aptarimą.

Naudojant „Twitter“ API

Norėdami pradėti gauti „tweet“ tiesiai iš „Twitter“, apsilankykite programų kūrėjų pagrindiniame puslapyje čia:

https: // kūrėjas.„twitter“.com / lt / apps

Užregistruokite savo paraišką užpildydami tokią formą:

Kai turėsite visus prieigos raktus, esančius skirtuke „Raktai ir žetonai“:

Mes galime naudoti raktus norėdami gauti reikiamus „Twitter“ tweetus iš „Twitter“ API, tačiau turime įdiegti dar vieną „Python“ paketą, kuris mums sunkiai pakelia „Twitter“ duomenis:

pip įdiegti tweepy

Pirmiau pateiktas paketas bus naudojamas visam sunkiam ryšiui su „Twitter“ API užbaigti. „Tweepy“ pranašumas yra tas, kad mums nereikia rašyti daug kodo, kai norime patvirtinti savo programą, skirtą sąveikai su „Twitter“ duomenimis, ir jis automatiškai įpakuojamas į labai paprastą API, veikiamą per „Tweepy“ paketą. Pirmiau nurodytą paketą galime importuoti į savo programą kaip:

importuoti tweepy

Po to mes tiesiog turime apibrėžti tinkamus kintamuosius, kuriuose galėtume laikyti „Twitter“ raktus, kuriuos gavome iš kūrėjo pulto:

vartotojo_raktas = '[vartotojo_raktas]'
customer_key_secret = '[vartotojo_key_secret]'
access_token = '[access_token]'
access_token_secret = '[access_token_secret]'

Dabar, kai kode apibrėžėme „Twitter“ paslaptis, mes pagaliau esame pasirengę užmegzti ryšį su „Twitter“, kad gautume „Tweets“ ir juos įvertintume, turiu omenyje, juos analizuosime. Žinoma, ryšys su „Twitter“ turi būti užmegztas naudojant „OAuth“ standartą ir „Tweepy“ paketas bus naudingas norint užmegzti ryšį taip pat:

twitter_auth = tweepy.OAuthHandler (vartotojo_raktas, vartotojo_rakto_slaptis)

Pagaliau mums reikia ryšio:

api = tweepy.API (twitter_auth)

Naudodami API egzempliorių, „Twitter“ galime ieškoti bet kokios temos, kurią jam perduodame. Tai gali būti vienas žodis arba keli žodžiai. Nors tikslumui rekomenduosime vartoti kuo mažiau žodžių. Pabandykime pavyzdį čia:

pm_tweets = api.paieška („Indija“)

Pirmiau pateikta paieška suteikia mums daug „Tweets“, tačiau mes apribosime „Twitter“, kurį gausime, skaičių, kad skambutis neužtruktų per daug laiko, nes vėliau jį reikia apdoroti ir „TextBlob“ paketu:

pm_tweets = api.paieška („Indija“, skaičius = 10)

Galiausiai galime išspausdinti kiekvieno „Tweet“ tekstą ir su juo susijusias nuotaikas:

tweetui pm_tweets:
spausdinti (tweet.tekstas)
analizė = TextBlob (tweet.tekstas)
spausdinti (analizė.sentimentas)

Vykdydami pirmiau pateiktą scenarijų, pradėsime gauti 10 paskutinių minėtos užklausos paminėjimų ir kiekvienas tweet bus analizuojamas dėl nuotaikos vertės. Štai išvestis, kurią gavome už tą patį:

Atminkite, kad taip pat galite sukurti srautinio nuotaikos analizės robotą naudodami „TextBlob“ ir „Tweepy“. „Tweepy“ leidžia užmegzti internetinio srauto srautinį ryšį su „Twitter“ API ir leidžia „Twitter“ duomenis perduoti realiu laiku.

Išvada

Šioje pamokoje mes apžvelgėme puikų tekstinės analizės paketą, kuris leidžia analizuoti tekstines nuotaikas ir daug daugiau. „TextBlob“ yra populiari dėl to, kad leidžia mums paprasčiausiai dirbti su tekstiniais duomenimis be jokio vargo dėl sudėtingų API skambučių. Mes taip pat integravome „Tweepy“, kad galėtume naudoti „Twitter“ duomenis. Mes galime lengvai pakeisti naudojimą į srautinio naudojimo atvejį su tuo pačiu paketu ir labai nedaug pakeitimų pačiame kode.

Prašau laisvai pasidalinti savo atsiliepimais apie pamoką „Twitter“ su @linuxhint ir @sbmaggarwal (tai aš!).

Geriausi „Linux“ žaidimų konsolių emuliatoriai
Šiame straipsnyje bus išvardyta populiari žaidimų konsolių emuliavimo programinė įranga, skirta „Linux“. „Emuliacija“ yra programinės įrangos suderina...
Geriausi „Linux“ žaidimų distristai 2021 m
„Linux“ operacinė sistema nuėjo ilgą kelią nuo originalios, paprastos, serverio išvaizdos. Ši OS pastaraisiais metais nepaprastai patobulėjo ir dabar ...
Kaip užfiksuoti ir perduoti savo žaidimų sesiją sistemoje „Linux“
Anksčiau žaidimai buvo laikomi tik pomėgiu, tačiau laikui bėgant lošimų pramonė labai augo technologijų ir žaidėjų skaičiaus atžvilgiu. Žaidimų audito...