Många undrar: "Är sentimentanalys maskininlärning?" Det korta svaret är: Ja. Modern sentimentanalys förlitar sig på maskininlärningsmodeller för att analysera och förbättra hur känslomässig betydelse upptäcks i text.
I den här artikeln förklarar jag vad sentimentanalys är, vad maskininlärning innebär och hur de två fungerar tillsammans i samband med kundupplevelser.
Vad är sentimentanalys?
Sentimentanalys, även kallad åsiktsanalys, är processen att läsa en textsamling och tolka om tonen är positiv eller negativ. Företag använder ofta verktyg för sentimentanalys för att förstå hur kunder känner inför deras varumärke eller vad människor säger online om deras konkurrenter.
Vid sentimentanalys tilldelas textblock – exempelvis en tweet eller kundrecension – ett negativt, neutralt eller positivt poängvärde baserat på de enskilda ord som texten består av.

För att göra detta använder programvara för sentimentanalys ett lexikon eller en ordlista för att identifiera och poängsätta varje ord. Denna ordlista sammanställs av personer som manuellt har samlat in orden och tilldelat varje ord ett poängvärde.
Denna process är tidskrävande och omfattande, eftersom varje ord inte bara behöver ett eget poängvärde, utan poängvärdena också måste förhålla sig till varandra. Exempelvis är bäst bättre än fantastisk, som är bättre än bra.
Detta lexikon utgör grunden för sentimentanalys.
Hur fungerar sentimentanalys?
Det finns tre sätt att implementera kundsentimentanalys, och vilket du väljer beror främst på mängden data du behöver analysera och hur hög noggrannhet du försöker uppnå.
Regelbaserad
Regelbaserad sentimentanalys är en metod för funktionsurval som är automatisk och baserad på regler som fastställts av människor. Reglerna innehåller vanligtvis många tekniker för naturlig språkbehandling (NLP) och naiva Bayes-klassificerare. Detta tillvägagångssätt är snabbt, men mycket enkelt och inte särskilt träffsäkert.
Reglerna kan exempelvis definiera ord som är extremt negativa (värst, hemsk, ful) och positiva (utmärkt, bäst, vacker). Dessa ord tilldelas ett positivt eller negativt värde. Om det finns fler positiva ord än negativa anger programvaran att texten har en positiv sentiment; om det finns fler negativa ord anger den en negativ sentiment. Om antalet positiva och negativa ord är lika stort anses texten vara neutral.
Som nämnts är detta tillvägagångssätt snabbt, men inte särskilt nyanserat. Det tar inte hänsyn till något annat än de enkla regler som gäller för orden och beaktar inte var orden förekommer eller hur de kombineras. Det är möjligt att ändra reglerna under arbetets gång, men detta ändrar också alla tidigare resultat. Dessa system kräver mycket finjustering och underhåll.
Automatisk
Automatiska system betraktas som maskininlärning. De förlitar sig inte på regler som programmerare har fastställt för sentimentklassificering, men de behöver lära sig. När automatiska system tränas lär sig systemet att koppla vissa ord och textkombinationer till en specifik etikett. Texten omvandlas till en funktionsvektor. Maskinen kombinerar etiketter och funktionsvektorer för att generera en algoritm och skapa en modell som kan användas framöver.
Funktionsvektorer representerar alla egenskaper och kännetecken hos ett objekt; i det här fallet ord och fraser. Inom maskininlärning och AI inom kundsentimentanalys är de avgörande för mönster och algoritmer som bearbetar data. Ju fler tester systemet matas med, desto fler etiketter och funktionsvektorer skapar det, och desto mer lär det sig samt finjusterar sin algoritm och sentimentanalysmodell.
Denna process kan bli ganska komplex och övergå i djupinlärning, där en samling algoritmer och artificiella neurala nätverk används för att analysera data i ett försök att efterlikna den mänskliga hjärnans tankeprocess.
Hybrid
Ett hybridtillvägagångssätt använder en kombination av regelbaserad och automatisk sentimentanalys, med målet att ta de bästa delarna från varje metod och förena dem till en. Denna metod är vanligtvis den mest träffsäkra.
Hur sentimentanalys och maskininlärning hänger ihop
Maskininlärning är en viktig del av sentimentanalys, men det är inte det enda som spelar roll.
Genom att använda naturlig språkbehandling kan programmerare mata in enorma mängder text och data när de bygger ett sentimentlexikon och tränar maskininlärningsprogrammet. Programmet kommer att fortsätta poängsätta fler ord, förbättra sin algoritm och sin förmåga att utföra sentimentanalys och så småningom förutsäga sentiment. Dessa förbättringar stöds av maskininlärningsalgoritmer.
Det finns mycket som maskininlärning för sentimentanalys måste reda ut för att bli så korrekt som möjligt, vilket är anledningen till att en modell för djupinlärning föredras.
För att sentimentanalysen ska bli korrekt krävs en grundlig förståelse av ordklasserna. Programmerare tränar maskininlärningen för detta genom att märka varje ord som substantiv, verb, adjektiv och så vidare.
När programmet lär sig mer om meningsstruktur och hur ord ordnas och placeras i meningar bygger det vidare på sin grundläggande förståelse av naturligt språk, vilket förbättrar klassificeringens träffsäkerhet.
Trots detta finns det många hinder som gör maskininlärning för sentimentanalys svårare.
Utmaningar med maskininlärning inom sentimentanalys
Det finns många utmaningar med sentimentanalys, oavsett vilken modell du använder.
Sentimentanalys är något som vi människor gör hela tiden. Varje gång vi läser ett meddelande från en vän eller en tweet från en främling måste vi ta reda på vad sentimentet egentligen är. Är personen sarkastisk? Skämtsam? Ironisk?
Det är svårt för människor att alltid avgöra betydelsen bakom text med hundraprocentig träffsäkerhet. Om människor har svårt med detta på sitt modersmål är det rimligt att även maskininlärning har vissa svårigheter med sentimentanalys.
Här är några av de saker som gör sentimentanalys svår för maskininlärning:
Subjektivitet
Vissa påståenden är faktabaserade och varken positiva eller negativa, men det är inte alltid lätt att skilja på detta. Titta till exempel på följande två meningar:
Skjortan är blå.
Skjortan är vacker.
I det här exemplet är det uppenbart vilken mening som har ett positivt sentiment – skjortan är vacker. Men det betyder inte att den första meningen är negativ. Den första meningen är objektiv. Den konstaterar ett faktum – skjortan är blå.
Svårigheten uppstår eftersom två predikat ibland inte är likvärdiga. Den andra meningen, som kommenterar att skjortan är vacker, är viktigare ur ett sentimentperspektiv eftersom den är subjektiv. Den andra kommentaren visar hur en användare känner inför en produkt, vilket är data som du kan använda.
Ton
Ton är något av det svåraste för människor att tolka, så föreställ dig hur svårt det kan vara för en maskin. Att avgöra om någon exempelvis är sarkastisk är extremt svårt i text, eftersom personen vanligtvis använder ord som betyder motsatsen till det de egentligen menar. Till exempel:
Min underbara bil gick sönder igen. Toppen!
Min skruttiga bil gick sönder igen.
Båda dessa meningar har ett negativt sentiment, men den första meningen använder sarkasm genom att innehålla ord som underbar och toppen. Det här scenariot skulle vara svårt för ett sentimentanalyssystem att tolka utan att en människa granskade det och fattade det slutliga beslutet.
Kontext
I vissa fall är det omöjligt att avgöra sentiment utan ett bredare sammanhang. Tänk på följande sentiment: ”Utbudet i den här konstnärsbutiken är fantastiskt om du studerar måleri.” När vi skannar texten upptäcker vi positivt poängsatta ord som ”fantastiskt”.
Ett bredare sammanhang i citatet antyder dock något annat: att konstnärsbutiken inte är särskilt bra om du fokuserar på blyerts, bläck, skulptur eller någon annan typ av konstnärligt medium. Oj då. När du tar hänsyn till sammanhanget kanske du bestämmer dig för att recensionen trots allt inte är så positiv!
När maskininlärning utvinner åsikter för att analysera sentiment tar den inte alltid tillräcklig hänsyn till sammanhanget.
Jämförelser
Jämförelser är komplexa eftersom de inte så mycket handlar om orden som om hur orden förhåller sig till varandra. Här är ett exempel:
Det här är den bästa paj jag någonsin har ätit.
Deras paj är bra för att vara från en restaurangkedja.
Den första meningen är positiv. Den andra är inte lika lätt att avgöra. Du vill förmodligen att din produkt ska vara bra jämfört med alla typer av konkurrenter. Det andra sentimentet antyder att din paj är av andra klass jämfört med specialiserade bagare, lokala etablissemang eller andra platser.
Sentimentanalyssystem kanske inte uppfattar jämförelsefaktorn här. I stället skulle systemet läsa ordet ”bra” och bedöma sentimentet som positivt, trots att det uppenbarligen finns mer bakom historien.
Emojier
Alla som tillbringar tid online vet att emojis finns överallt. Vissa är enkla, andra är komplicerade, men alla kan orsaka problem för maskininlärning som försöker fastställa sentiment.
Emojis är en viktig del av kommunikationen online. En hjärtemoji bör tolkas som ett positivt sentiment, medan bajshögen definitivt skulle få ett negativt resultat. Detta är inget problem så länge du arbetar med sentimentbibliotek som innehåller poäng för vanliga emojis, precis som de kan göra för populära slangord.
Slang
Språket utvecklas ständigt, och det inkluderar varje generations slangordförråd, som ”smol”, ”stan”, ”woke” och ”salty”. Precis som med emojis kan ditt sentimentanalysverktyg ha svårt att hantera detta.
Det verkar trots allt dyka upp ett nytt memeinspirerat slangord med några månaders mellanrum. Slang som blir kvar och kan dyka upp i recensioner och på sociala medier kan läggas till i sentimentbiblioteket och tilldelas ett positivt, neutralt eller negativt resultat ... precis som vilket annat ord som helst!
Vårt språklexikon utvecklas ständigt. Jag minns den kollektiva ögonrullningen när YOLO (You Only Live Once, för den som inte känner till uttrycket) togs med i Oxfords nätordbok 2014. Sentimentanalysverktyg har dock anledning att hoppas: det innebär att ML-ordböcker också kan utvecklas. De bästa sentimentanalysverktygen kan hantera nya slangord genom programvaruuppdateringar eller manuella användarinmatningar.
Medelvägen: Vad är neutralt sentiment?
Ett sätt att skapa en bra grund för att träna maskininlärning är att ägna lite tid åt att fundera på vad ”neutral” egentligen betyder. Jag ägnade mycket tid åt att prata om positiva och negativa exempel för en sentimentanalysator, men dessa två sentiment förutsätter att det finns ett tydligt definierat neutralt sentiment. Det är rimligt att säga att det neutrala sentimentet är en av de viktigaste delarna av processen.
Men hur definierar man neutralt sentiment? Här är tre sätt att komma igång:
- Inkludera objektiva tester. Kom ihåg exemplet ovan: den här tröjan är blå. Bilen är gul. Trädet har löv. Alla dessa är objektiva påståenden baserade på fakta. De har inget positivt eller negativt sentiment.
- Filtrera bort allt irrelevant. Irrelevant information hjälper dig inte att avgöra om något är positivt eller negativt. Om en recension av en torktumlare till exempel börjar med en anekdot som ”Jag gick ner i källaren och slängde in de våta kläderna i torktumlaren, bara för att upptäcka att den var trasig”, är denna information inte relevant för recensionens sentiment och kan uteslutas.
- Ignorera önskemål. Detta är ingen fast regel, men önskemål bidrar ofta inte till sentimentet. Om du upptäcker att recensenter önskar att en vara hade en viss funktion säger det inte särskilt mycket om kundernas sentiment. Du kanske först tänker att detta är negativt, vilket det kan vara. Till exempel är ”Biffen var hemsk, jag önskar att de inte hade stekt den för länge” negativt. Men önskemål kan också förekomma i positiva recensioner. ”Tårtan var utsökt, jag önskar att det fanns mer” eller ”Jag älskar allt med den här tröjan, jag önskar att den fanns i 100 färger.”
Att ha ett tydligt definierat neutralt sentiment är grunden för all sentimentanalys. Varje analys börjar trots allt neutralt och böjer sedan av åt antingen det positiva eller det negativa hållet när texten poängsätts.
Slutsats
Sentimentanalys är en typ av verktyg för maskininlärning. Maskininlärning arbetar med naturlig språkbehandling för att skapa de centrala byggstenarna i sentimentanalysprocessen.
Maskininlärning handlar dock helt enkelt om hur datorer lär sig, och den behöver inte alltid vara kopplad till sentimentanalys. Det finns även maskininlärning för chattbotar för kundtjänst, affärsprognoser, motorer för produktrekommendationer, dynamisk produktprissättning och mycket mer.
Prenumerera på nyhetsbrevet från The CX Lead för fler expertinsikter om kundupplevelse och användarupplevelse.
Relaterad läsning: De 10 bästa programvarorna för kundsupport för små och medelstora företag samt storföretag
