Indholdsfortegnelse[Skjule][At vise]
Virksomheder vil have mestret erhvervelsen af forbrugerinteraktionsdata i 2021.
Overdreven tillid til disse datapunkter fører på den anden side ofte til, at organisationer behandler kundeinput som en statistik – en ret endimensionel tilgang til at lytte til kundens stemme.
Kundens stemme kan ikke mærkes eller konverteres til et nummer.
Den skal læses, fortættes og frem for alt forstås.
Faktum er, at virksomheder aktivt skal lytte til, hvad deres forbrugere har at sige på hver kanal, hvorigennem de interagerer med dem, uanset om det er gennem telefonopkald, e-mails eller live chat.
Enhver virksomhed bør prioritere overvågning og evaluering af forbrugerfeedback, men virksomheder har traditionelt kæmpet for at håndtere disse data og omdanne dem til meningsfuld intelligens.
Dette er ikke længere tilfældet med Sentiment Analysis.
I denne tutorial ser vi nærmere på sentimentanalyse, dens fordele, og hvordan man bruger NLTK bibliotek til at lave sentimentanalyse på data.
Hvad er sentimentanalyse?
Følelsesanalyse, ofte kendt som konversationsmining, er en metode til at analysere folks følelser, tanker og synspunkter.
Stemningsanalyse giver virksomheder mulighed for at få en bedre forståelse af deres forbrugere, øge omsætningen og forbedre deres produkter og tjenester baseret på kundernes input.
Forskellen mellem et softwaresystem, der er i stand til at analysere kundefølelse, og en sælger/kundeservicerepræsentant, der forsøger at udlede det, er førstnævntes rene evne til at udlede objektive resultater fra den rå tekst - dette opnås primært gennem naturlig sprogbehandling (NLP) og machine learning teknikker.
Fra følelsesidentifikation til tekstkategorisering har sentimentanalyse en bred vifte af anvendelser. Vi anvender sentimentanalyse på tekstdata til at hjælpe en virksomhed med at overvåge stemningen i produktevalueringer eller forbrugerfeedback.
Forskellige sociale medier bruger det til at vurdere følelsen af opslag, og hvis følelserne er for stærke eller voldsomme, eller falder under deres tærskel, bliver indlægget enten slettet eller skjult.
Følelsesanalyse kan bruges til alt fra følelsesidentifikation til tekstkategorisering.
Den mest populære brug af sentimentanalyse er på tekstdata, hvor den bruges til at hjælpe en virksomhed med at spore følelsen af produktevalueringer eller forbrugerkommentarer.
Forskellige sociale medier bruger det også til at vurdere følelsen af opslag, og hvis følelserne er for stærke eller voldsomme eller falder under deres tærskel, sletter eller skjuler de indlægget.
Fordele ved sentimentanalyse
Følgende er nogle af de vigtigste fordele ved sentimentanalyse, som ikke bør ses bort fra.
- Hjælp med at vurdere opfattelsen af dit brand blandt din målgruppe.
- Der gives direkte kundefeedback for at hjælpe dig med at udvikle dit produkt.
- Øger salgsindtægter og efterforskning.
- Mersalgsmuligheder for dit produkts forkæmpere er steget.
- Proaktiv kundeservice er en praktisk mulighed.
Numbers kan give dig information som f.eks. den rå ydeevne af en marketingkampagne, mængden af engagement i et prospekteringsopkald og antallet af afventende billetter i kundesupport.
Det vil dog ikke fortælle dig, hvorfor en specifik hændelse fandt sted, eller hvad der forårsagede den. Analyseværktøjer som Google og Facebook kan for eksempel hjælpe dig med at vurdere effektiviteten af din marketingindsats.
Men de giver dig ikke en dybdegående viden om, hvorfor den specifikke kampagne var vellykket.
Sentiment Analysis har potentiale til at ændre spillet i denne henseende.
Følelsesanalyse – problemformulering
Målet er at afgøre, om et tweet har positive, negative eller neutrale følelser i forhold til seks amerikanske flyselskaber baseret på tweets.
Dette er et standard overvåget læringsjob, hvor vi skal kategorisere en tekststreng i forudbestemte kategorier givet en tekststreng.
Løsning
Vi bruger standardprocessen for maskinlæring til at løse dette problem. Vi starter med at importere de nødvendige biblioteker og datasæt.
Derefter vil vi udføre nogle undersøgende dataanalyse for at afgøre, om der er nogen mønstre i dataene. Derefter påtager vi os tekstforbehandling for at omdanne tekstinput numeriske data, som en machine learning systemet kan bruge.
Til sidst vil vi træne og evaluere vores sentimentanalysemodeller ved hjælp af maskinlæringsmetoder.
1. Import af biblioteker
Indlæs de nødvendige biblioteker.
2. Importer datasæt
Denne artikel vil være baseret på et datasæt, som kan findes på Github. Datasættet vil blive importeret ved hjælp af Pandas' læse CSV-funktion, som vist nedenfor:
Brug funktionen head() til at undersøge datasættets første fem rækker:
Output:
3. Analyse af dataene
Lad os undersøge dataene for at afgøre, om der er nogen tendenser. Men først vil vi ændre standard plotstørrelsen for at gøre diagrammerne mere synlige.
Lad os begynde med antallet af tweets modtaget af hvert flyselskab. Vi bruger et cirkeldiagram til dette:
Procentdelen af offentlige tweets for hvert flyselskab vises i outputtet.
Lad os se på, hvordan følelserne er fordelt over alle tweets.
Output:
Lad os nu undersøge fordelingen af følelser for hvert enkelt flyselskab.
Ifølge resultaterne er hovedparten af tweets for næsten alle flyselskaber ugunstige, med neutrale og gode tweets, der følger. Virgin America er måske det eneste flyselskab, hvor andelen af de tre følelser er sammenlignelig.
Output:
Endelig vil vi bruge Seaborn-biblioteket til at få det gennemsnitlige konfidensniveau for tweets fra tre følelseskategorier.
Output:
Resultatet viser, at konfidensniveauet for negative tweets er større end for positive eller neutrale tweets.
4. Rensning af data
Mange slangudtryk og tegnsætningstegn kan findes i tweets. Før vi kan træne maskinlæringsmodellen, skal vi rense vores tweets.
Men før vi begynder at rense tweets, bør vi opdele vores datasæt i funktions- og etiketsæt.
Vi kan rense dataene, når vi har opdelt dem i funktioner og træningssæt. Regulære udtryk vil blive brugt til at gøre dette.
5. Numerisk repræsentation af tekst
For at træne maskinlæringsmodeller anvender statistiske algoritmer matematik. Matematik arbejder derimod udelukkende med tal.
Vi skal først omdanne teksten til tal, så statistiske algoritmer kan håndtere det. Der er tre grundlæggende måder at gøre det på: Bag of Words, TF-IDF og Word2Vec.
Heldigvis kan TfidfVectorizer-klassen i Pythons Scikit-Learn-modul bruges til at transformere tekstfunktioner til TF-IDF-funktionsvektorer.
6. Oprettelse af datadrevet trænings- og testsæt
Endelig skal vi opdele vores data i trænings- og testsæt, før vi træner vores algoritmer.
Træningssættet vil blive brugt til at træne algoritmen, og testsættet vil blive brugt til at vurdere maskinlæringsmodellens ydeevne.
7. Modeludvikling
Efter at dataene er blevet adskilt i trænings- og testsæt, bruges maskinlæringsteknikker til at lære af træningsdataene.
Du kan bruge enhver maskinlæringsalgoritme. Random Forest-tilgangen vil dog blive brugt på grund af dens evne til at håndtere ikke-normaliserede data.
8. Forudsigelser og modelevaluering
Efter at modellen er blevet trænet, er den sidste fase at lave forudsigelser. For at gøre dette skal vi anvende forudsigelsesmetoden på klasseobjektet RandomForestClassifier, som vi trænede.
Endelig kan klassifikationsmål som forvirringsmålinger, F1-mål, nøjagtighed og så videre bruges til at evaluere ydeevnen af maskinlæringsmodeller.
Output:
Vores algoritme opnåede en nøjagtighed på 75.30, som det ses af resultaterne.
Konklusion
Følelsesanalyse er et af de hyppigste NLP-job, da det hjælper med at identificere den samlede offentlige mening om et specifikt emne.
Vi så, hvordan flere Python-biblioteker kan hjælpe med følelsesanalyse.
Vi gennemførte en undersøgelse af offentlige tweets om seks amerikanske flyselskaber og nåede en nøjagtighed på omkring 75 %.
Jeg vil foreslå, at du prøver en anden maskinlæringsalgoritme, såsom logistisk regression, SVM eller KNN, for at se, om du kan opnå bedre resultater.
Giv en kommentar