Ontdek Uw Aantal Engel
Sentimentanalyse 101: hoe het Data Science-team van Sprout een hybride model heeft gebouwd
Zoals iedereen die ooit een relatie heeft gehad, je zal vertellen, zijn menselijke emoties een ingewikkeld concept. Dit geldt met name voor marketeers die de kwalitatieve voordelen proberen te begrijpen - de waarde die verder gaat dan de basisfunctionaliteit - van hun product of dienst. Het is niet moeilijk te begrijpen wat uw product doet, maar weet u hoe uw klanten zich erbij voelen?
Dat zou je doen als je sentimentanalyse voor sociaal luisteren zou gebruiken om de ongefilterde overpeinzingen op sociale media van je doelgroep te destilleren tot bruikbare strategische inzichten. Alle sociale gegevens beschikbaar op Twitter en het categoriseren voor positief, negatief of neutraal sentiment is een grote onderneming, en geen twee methoden zijn gelijk. Daarom heeft HASHTAGS een hybride sentimentanalysesysteem gebouwd dat de twee primaire benaderingen, regellijsten en machine learning, combineert.
Regel lijsten
Een van de eenvoudigste manieren om sentimentanalyse aan te pakken, is door door mensen gemaakte regels of woordenboeken te gebruiken. Bij deze benadering vertrouwt het systeem op een lijst met woorden of woordgroepen die rechtstreeks verband houden met een specifiek gevoel. Elke Tweet die het woord 'high five' bevat, kan bijvoorbeeld als positief worden bestempeld, terwijl een Tweet met 'verschrikkelijk' negatief zou zijn. Systemen zoals deze zijn in hoge mate aanpasbaar en kunnen worden uitgebreid met duizenden regels voor woorden en zinsdelen.
Aan de andere kant worstelen regelsystemen met Tweets die overeenkomen met tegenstrijdige regels, zoals 'De film was niet zo vreselijk als ik had verwacht.' Hier zou 'verschrikkelijk' negatief kunnen worden bestempeld, terwijl 'verwacht' positief zou zijn. De tegenstrijdige regels bestempelen de Tweet als neutraal, terwijl sommige menselijke lezers hem als licht positief zouden interpreteren en andere als licht negatief.
Een bijkomende beperking van op regels gebaseerde systemen is de afhankelijkheid van menselijke inspanning en begrip. Taal evolueert snel (vooral op Twitter), en een op regels gebaseerd systeem vereist dat iemand een gestage stroom nieuwe termen en zinsdelen levert. Het updaten van een sentimentsysteem heeft niet altijd de hoogste prioriteit en een systeem kan snel verouderd raken. Zelfs met waakzame monitoring kan het moeilijk zijn om veranderende taaltrends te identificeren en te bepalen wanneer nieuwe regels moeten worden toegevoegd.
Machine leren
Er worden geavanceerdere systemen voor sentimentanalyse gebruikt Machine leren (ML) technieken (soms ook wel Artificial Intelligence of Natuurlijke taalverwerking Machine Learning is een familie van technieken die statistieken en waarschijnlijkheid gebruiken om complexe patronen te identificeren die kunnen worden gebruikt om items te labelen.
In tegenstelling tot op regels gebaseerde systemen, zijn ML-systemen flexibel genoeg om overeenkomsten te detecteren die niet meteen duidelijk zijn voor mensen. Door naar vele, vele voorbeelden te kijken, leert het systeem patronen die doorgaans worden geassocieerd met positieve, negatieve of neutrale gevoelens.
Een ML-sentimentanalysesysteem kan bijvoorbeeld ontdekken dat Tweets die het woord 'regen' bevatten en eindigen op één uitroepteken negatief zijn, terwijl Tweets met 'regen' en twee uitroeptekens positief zijn. Een mens merkt dit patroon misschien niet op of begrijpt niet waarom het voorkomt, maar een ML-systeem kan het gebruiken om zeer nauwkeurige voorspellingen te doen.
Hoewel Machine Learning-systemen geweldige resultaten kunnen opleveren, hebben ze een paar tekortkomingen. Als er veel variatie in de taal is, kan het moeilijk zijn voor een ML-systeem om door de ruis heen te zoeken om patronen te onderscheiden. Als er sterke patronen bestaan, kunnen ze minder gebruikelijke patronen overschaduwen en ervoor zorgen dat het ML-systeem subtiele aanwijzingen negeert.
217 nummer
Sprout's aanpak
Om ons sentimentanalysesysteem te bouwen, hebben we een hybride systeem ontworpen dat het beste van regelgebaseerde en machine learning-benaderingen combineert. We hebben tienduizenden Tweets geanalyseerd om plaatsen te identificeren waar ML-modellen worstelen, en hebben op regels gebaseerde strategieën geïntroduceerd om die tekortkomingen te verhelpen.
Door statistische modellen aan te vullen met menselijk begrip, hebben we een robuust systeem gebouwd dat goed presteert in een groot aantal verschillende omgevingen.

Alles over nauwkeurigheid
Op het eerste gezicht lijkt sentimentanalyse vrij eenvoudig: beslis gewoon of een Tweet positief, negatief of neutraal is. Menselijke taal en emoties zijn echter gecompliceerd, en het detecteren van sentiment in een Tweet weerspiegelt deze complexiteit.
9 cijfer betekenis
Overweeg deze Tweets. Zijn ze positief, negatief of neutraal?
https://twitter.com/alex/status/917406154321420289
Kerel vroeg net om 6 shots espresso bij Starbucks ... ZES. Freaking ZES !!
- Simone Eli (@SimoneEli_TV) 31 oktober 2017
Je hebt misschien vertrouwen in je antwoorden, maar de kans is groot dat niet iedereen het met je eens is. Uit onderzoek is gebleken dat mensen het alleen eens zijn over het sentiment van Tweets 60-80% van de tijd.
Misschien ben je sceptisch. Wij waren ook.
Om het uit te testen, bestempelden twee leden van ons Data Science-team exact dezelfde set van 1000 Tweets als positief, negatief of neutraal. We dachten: “we werken elke dag met Tweets; we zullen waarschijnlijk een bijna perfecte overeenkomst hebben tussen ons tweeën. '
We hebben de resultaten berekend en vervolgens dubbel en driemaal gecontroleerd. Het onderzoek was perfect - we waren het slechts over 73% van de Tweets eens.
Uitdagingen in sentimentanalyse
Onderzoek (samen met ons kleine experiment) toont aan dat sentimentanalyse niet eenvoudig is. Waarom is het zo lastig? Laten we eens kijken naar enkele van de grootste uitdagingen.
Context
Tweets zijn een piepklein momentopname. Hoewel sommige op zichzelf staan, maken Tweets vaak deel uit van een lopend gesprek of referentie-informatie die alleen zin heeft als je de auteur kent. Zonder die aanwijzingen kan het moeilijk zijn om de gevoelens van een auteur te interpreteren.
Ik doe dit ook met lepels voor koffie.
- Renée Barrow (@RmBarrow) 14 oktober 2017
Sarcasme
Sarcasme-detectie is een andere smaak van de contextuitdaging. Zonder aanvullende informatie verwarren sentimentanalysesystemen vaak de letterlijke betekenis van woorden met hoe ze bedoeld zijn. Sarcasme is een actief gebied van academisch onderzoek, dus we kunnen in de nabije toekomst systemen zien die snark begrijpen.
727 nummer
Vergelijkingen
Sentiment wordt ook lastig wanneer Tweets vergelijkingen maken. Als ik marktonderzoek doe naar groenten en iemand tweets 'Wortelen is beter dan pompoen', is deze Tweet dan positief of negatief? Het hangt af van uw perspectief. Evenzo zou iemand kunnen tweeten: 'Bedrijf A is beter dan bedrijf B.' Als ik voor bedrijf A werk, is deze Tweet positief, maar als ik bij bedrijf B ben, is hij negatief.
Emoji's
Emoji's zijn een geheel eigen taal Terwijl emoji's graag een vrij duidelijk sentiment uitdrukken, zijn andere minder universeel. Bij het bouwen van ons sentimentanalysesysteem hebben we goed gekeken naar hoe mensen emoji's gebruiken, en ontdekten dat zelfs gewone emoji's voor verwarring kunnen zorgen. wordt bijna evenzeer gebruikt als 'zo blij dat ik huil' of 'zo verdrietig dat ik huil'. Als mensen het niet eens kunnen worden over de betekenis van een emoji, kan een sentimentanalysesysteem dat ook niet.
Neutraal definiëren
Zelfs een 'neutraal' sentiment is niet altijd eenvoudig. Denk eens aan een nieuwskop over een tragische gebeurtenis. Hoewel we het er allemaal over eens zijn dat de gebeurtenis verschrikkelijk is, zijn de meeste nieuwskoppen bedoeld als feitelijke, informatieve uitspraken. Systemen voor sentimentanalyse zijn ontworpen om de emotie van de auteur van de inhoud te identificeren, niet de reactie van de lezer. Hoewel het misschien vreemd lijkt om vreselijk nieuws te zien dat als 'neutraal' wordt bestempeld, weerspiegelt het de bedoeling van de auteur om feitelijke informatie te communiceren.
Sentimentanalysesystemen variëren ook in hoe neutraal wordt gedefinieerd. Sommigen beschouwen neutraal als een allesomvattende categorie voor elke Tweet waarbij het systeem niet kan beslissen tussen positief of negatief. In die systemen is 'neutraal' synoniem met 'ik weet het niet zeker'. In werkelijkheid zijn er echter veel Tweets die geen emotie uitdrukken, zoals in het onderstaande voorbeeld.
Een 'Venti' heeft meestal twee shots espresso, maar deze klant vroeg er 14 https://t.co/jzOi93RRd9
- TAXI (@designtaxi) 30 oktober 2017
Ons systeem classificeert niet-emotionele Tweets expliciet als neutraal, in plaats van neutraal als standaardlabel voor dubbelzinnige Tweets te gebruiken.
Sentimentanalyse evalueren
Met zoveel uitdagingen in sentimentanalyse, loont het om je huiswerk te maken voordat je in een nieuwe tool investeert. Verkopers proberen de complexiteit te helpen doorbreken door zich te concentreren op statistieken over de nauwkeurigheid van hun product. Nauwkeurigheid is echter niet altijd een vergelijking van appels tot appels. Als u van plan bent nauwkeurigheid als meetlat te gebruiken, zijn hier een paar dingen die u moet vragen.
Is de gerapporteerde nauwkeurigheid groter dan 80%?
Omdat mensen het maar 60-80% van de tijd met elkaar eens zijn, is er geen manier om een testdataset te maken waarvan iedereen het erover eens is dat deze de 'juiste' sentimentlabels bevat. Als het op sentiment aankomt, is 'correct' subjectief. Met andere woorden, er is geen gouden standaard om de nauwkeurigheid te testen.
De bovengrens van de nauwkeurigheid van een sentimentanalysesysteem is altijd overeenstemming op mensniveau: ongeveer 80%. Als een leverancier meer dan 80% nauwkeurigheid claimt, is het een goed idee om sceptisch te zijn. Huidig onderzoek suggereert dat zelfs een nauwkeurigheid van 80% onwaarschijnlijk is; topexperts in het veld bereiken doorgaans nauwkeurigheid in het midden van de jaren 60.
Hoeveel sentimentcategorieën worden er voorspeld?
Sommige leveranciers beoordelen de nauwkeurigheid alleen van Tweets die door menselijke beoordelaars als definitief positief of negatief zijn aangemerkt, met uitsluiting van alle neutrale Tweets. Het is veel gemakkelijker voor de nauwkeurigheid van een systeem om erg hoog te lijken bij het werken met sterk emotionele Tweets en slechts twee mogelijke uitkomsten (positief of negatief).
In het wild zijn de meeste tweets echter neutraal of dubbelzinnig. Wanneer een systeem alleen wordt beoordeeld als positief en negatief, is het onmogelijk om te weten hoe goed het systeem omgaat met neutrale Tweets - het grootste deel van wat je daadwerkelijk zult zien.
Welke soorten tweets zijn opgenomen in hun testset?
Er moet een sentimentanalysesysteem worden gebouwd en getest op tweets die representatief zijn voor de werkelijke omstandigheden. Sommige sentimentanalysesystemen worden gemaakt met domeinspecifieke tweets die zijn gefilterd en opgeschoond om het systeem zo gemakkelijk mogelijk te begrijpen.
Een leverancier kan bijvoorbeeld een reeds bestaande dataset hebben gevonden die alleen sterk emotionele Tweets over de luchtvaartindustrie bevat, met uitsluiting van spam of off-topic Tweets. Hierdoor zou de nauwkeurigheid hoog zijn, maar alleen bij gebruik op zeer vergelijkbare Tweets. Als je in een ander domein werkt, of off-topic of spam-tweets ontvangt, zul je een veel lagere nauwkeurigheid zien.
Hoe groot was de testdataset?
Sentimentanalysesystemen moeten worden geëvalueerd op enkele duizenden Tweets om de prestaties van het systeem in veel verschillende scenario's te meten. Je krijgt geen echte maatstaf voor de nauwkeurigheid van een systeem als een systeem slechts op een paar honderd Tweets wordt getest.
Hier bij Sprout hebben we ons model gebouwd op een verzameling van 50.000 tweets, getrokken uit een willekeurige steekproef van Twitter. Omdat onze tweets niet domeinspecifiek zijn, presteert ons sentimentanalysesysteem goed op een breed scala aan domeinen.
Daarnaast doen we aparte voorspellingen voor positieve, negatieve en neutrale categorieën; we passen niet alleen neutraal toe als andere voorspellingen mislukken. Onze nauwkeurigheid is getest op 10.000 tweets, waarvan er geen zijn gebruikt om het systeem te bouwen.
Bekijk Sprout's sentimentanalyse live met luisteraars
Al het onderzoek in de wereld is geen vervanging voor het uit de eerste hand evalueren van een systeem. Geef ons nieuwe sentimentanalysesysteem een proefrit met onze nieuwste toolset voor sociaal luisteren, Luisteraars , en kijk hoe het voor u werkt. Uiteindelijk is de beste tool voor sociaal luisteren degene die aan uw behoeften voldoet en u helpt meer uit sociale media te halen. Laat ons u vandaag op weg helpen.
Deel Het Met Je Vrienden:
303 nummers