Cuprins[Ascunde][Spectacol]
Întreprinderile vor fi stăpânit achiziția de date de interacțiune cu consumatorii până în 2021.
Pe de altă parte, dependența excesivă de aceste puncte de date duce adesea la organizațiile să trateze input-ul clienților ca pe o statistică - o abordare mai degrabă unidimensională pentru a asculta vocea clientului.
Vocea clientului nu poate fi insignată sau convertită într-un număr.
Trebuie citit, condensat și, mai presus de toate, înțeles.
Cert este că companiile trebuie să asculte în mod activ ceea ce au de spus consumatorii lor pe fiecare canal prin care interacționează cu ei, fie că este vorba de apeluri telefonice, e-mailuri sau chat live.
Fiecare companie ar trebui să acorde prioritate monitorizării și evaluării sentimentului de feedback al consumatorilor, dar companiile s-au luptat în mod tradițional să gestioneze aceste date și să le transforme în informații semnificative.
Acesta nu mai este cazul cu Analiza sentimentelor.
În acest tutorial, vom arunca o privire mai atentă asupra analizei sentimentelor, a avantajelor acesteia și a modului de utilizare NLTK bibliotecă pentru a face analize de sentiment asupra datelor.
Ce este analiza sentimentelor?
Analiza sentimentelor, cunoscută adesea sub numele de minarea conversațiilor, este o metodă de analiză a sentimentelor, gândurilor și opiniilor oamenilor.
Analiza sentimentelor permite companiilor să înțeleagă mai bine consumatorii lor, să crească veniturile și să-și îmbunătățească produsele și serviciile pe baza aportului clienților.
Diferența dintre un sistem software capabil să analizeze sentimentul clienților și un agent de vânzări/reprezentant al serviciului pentru clienți care încearcă să o deducă este capacitatea absolută a primului de a obține rezultate obiective din textul brut - acest lucru este realizat în primul rând prin procesarea limbajului natural (NLP) și masina de învățare tehnici.
De la identificarea emoțiilor până la categorizarea textului, analiza sentimentelor are o gamă largă de aplicații. Folosim analiza sentimentelor asupra datelor textuale pentru a ajuta o firmă să monitorizeze sentimentul evaluărilor produselor sau feedback-ul consumatorilor.
Diferite site-uri de socializare îl folosesc pentru a evalua sentimentul postărilor, iar dacă emoția este prea puternică sau violentă sau scade sub pragul lor, postarea este fie ștearsă, fie ascunsă.
Analiza sentimentelor poate fi folosită pentru orice, de la identificarea emoțiilor până la clasificarea textului.
Cea mai populară utilizare a analizei sentimentelor este pe datele textuale, unde este folosită pentru a ajuta o companie să urmărească sentimentul evaluărilor produselor sau comentariilor consumatorilor.
Diferite site-uri de socializare îl folosesc și pentru a evalua sentimentul postărilor, iar dacă emoția este prea puternică sau violentă sau scade sub pragul lor, șterg sau ascund postarea.
Beneficiile analizei sentimentelor
Următoarele sunt câteva dintre cele mai importante beneficii ale analizei sentimentelor care nu trebuie neglijate.
- Ajută la evaluarea percepției mărcii tale în rândul demografice țintă.
- Feedback-ul direct al clienților este oferit pentru a vă ajuta să vă dezvoltați produsul.
- Crește veniturile din vânzări și prospectarea.
- Oportunitățile de upsell pentru campionii produselor dvs. au crescut.
- Serviciul proactiv pentru clienți este o opțiune practică.
Numbers vă poate oferi informații precum performanța brută a unei campanii de marketing, cantitatea de implicare într-un apel de prospectare și numărul de bilete în așteptare în asistența pentru clienți.
Cu toate acestea, nu vă va spune de ce a avut loc un anumit eveniment sau ce l-a cauzat. Instrumentele de analiză precum Google și Facebook, de exemplu, vă pot ajuta să evaluați performanța eforturilor dvs. de marketing.
Dar nu vă oferă o cunoaștere aprofundată a motivului pentru care respectiva campanie a avut succes.
Analiza sentimentelor are potențialul de a schimba jocul în acest sens.
Analiza sentimentelor – Enunțarea problemei
Scopul este de a determina dacă un tweet are emoții favorabile, negative sau neutre în ceea ce privește șase companii aeriene din SUA, pe baza tweet-urilor.
Acesta este un job standard de învățare supravegheată în care trebuie să clasificam un șir de text în categorii predeterminate având în vedere un șir de text.
Soluţie
Vom folosi procesul standard de învățare automată pentru a rezolva această problemă. Vom începe prin a importa bibliotecile și seturile de date necesare.
Apoi vom efectua o analiză exploratorie a datelor pentru a determina dacă există modele în date. După aceea, vom întreprinde preprocesarea textului pentru a transforma datele numerice de intrare textuale care a masina de învățare sistemul poate folosi.
În cele din urmă, vom antrena și vom evalua modelele noastre de analiză a sentimentelor folosind metode de învățare automată.
1. Importarea bibliotecilor
Încărcați bibliotecile necesare.
2. Importați setul de date
Acest articol se va baza pe un set de date care poate fi găsit pe Github. Setul de date va fi importat folosind funcția de citire CSV a lui Pandas, după cum se vede mai jos:
Folosind funcția head(), examinați primele cinci rânduri ale setului de date:
ieșire:
3. Analiza datelor
Să examinăm datele pentru a determina dacă există tendințe. Dar mai întâi, vom schimba dimensiunea implicită a parcelei pentru a face graficele mai vizibile.
Să începem cu numărul de tweet-uri primite de fiecare companie aeriană. Vom folosi o diagramă circulară pentru aceasta:
Procentul de tweet-uri publice pentru fiecare companie aeriană este afișat în rezultat.
Să aruncăm o privire la modul în care sentimentele sunt distribuite pe toate tweet-urile.
ieșire:
Să examinăm acum distribuția sentimentului pentru fiecare companie aeriană specifică.
Potrivit rezultatelor, cea mai mare parte a tweet-urilor pentru aproape toate companiile aeriene este nefavorabilă, urmând tweet-uri neutre și bune. Virgin America este poate singura companie aeriană în care proporția celor trei sentimente este comparabilă.
ieșire:
În cele din urmă, vom folosi biblioteca Seaborn pentru a obține nivelul mediu de încredere pentru tweet-urile din trei categorii de sentimente.
ieșire:
Rezultatul arată că nivelul de încredere pentru tweeturile negative este mai mare decât pentru tweeturile pozitive sau neutre.
4. Curățarea datelor
Mulți termeni de argo și semne de punctuație pot fi găsite în tweet-uri. Înainte de a putea antrena modelul de învățare automată, trebuie să ne curățăm tweet-urile.
Cu toate acestea, înainte de a începe curățarea tweet-urilor, ar trebui să ne despărțim setul de date în seturi de caracteristici și etichete.
Putem curăța datele după ce le-am separat în funcții și seturi de antrenament. Pentru a face acest lucru, vor fi folosite expresii regulate.
5. Reprezentarea numerică a textului
Pentru a antrena modele de învățare automată, algoritmii statistici folosesc matematica. Matematica, pe de altă parte, funcționează numai cu numere.
Mai întâi trebuie să transformăm textul în numere pentru ca algoritmii statistici să se ocupe de el. Există trei moduri de bază de a face acest lucru: Bag of Words, TF-IDF și Word2Vec.
Din fericire, clasa TfidfVectorizer din modulul Scikit-Learn de la Python poate fi folosită pentru a transforma caracteristicile textului în vectori de caracteristici TF-IDF.
6. Crearea de seturi de instruire și de testare bazate pe date
În cele din urmă, trebuie să ne împărțim datele în seturi de antrenament și de testare înainte de a ne antrena algoritmii.
Setul de antrenament va fi folosit pentru a antrena algoritmul, iar setul de testare va fi folosit pentru a evalua performanța modelului de învățare automată.
7. Dezvoltarea modelului
După ce datele au fost separate în seturi de antrenament și de testare, tehnicile de învățare automată sunt utilizate pentru a învăța din datele de antrenament.
Puteți utiliza orice algoritm de învățare automată. Cu toate acestea, abordarea Random Forest va fi utilizată datorită capacității sale de a face față datelor nenormalizate.
8. Predicții și evaluare a modelului
După ce modelul a fost antrenat, etapa finală este de a face predicții. Pentru a face acest lucru, trebuie să aplicăm metoda predict la obiectul clasei RandomForestClassifier pe care l-am antrenat.
În cele din urmă, măsurile de clasificare precum valorile confuziei, măsurile F1, precizia și așa mai departe pot fi utilizate pentru a evalua performanța modelelor de învățare automată.
ieșire:
Algoritmul nostru a obținut o precizie de 75.30, după cum se vede din rezultate.
Concluzie
Analiza sentimentelor este una dintre cele mai frecvente locuri de muncă NLP, deoarece ajută la identificarea opiniei publice generale asupra unei probleme specifice.
Am văzut cum mai multe biblioteci Python pot ajuta la analiza sentimentelor.
Am efectuat un studiu al tweet-urilor publice despre șase companii aeriene din SUA și am atins o precizie de aproximativ 75%.
Vă sugerez să încercați un alt algoritm de învățare automată, cum ar fi regresia logistică, SVM sau KNN, pentru a vedea dacă puteți obține rezultate mai bune.
Lasă un comentariu