Vorige | Home | Demo | Volgende

Social Media 2011: Weekopdracht 5

In deze vijfde opdracht voer je een sentimentanalyse uit met Twitterberichten

  1. Verzamel Twitterberichten totdat je minstens 10 hebt met een positief sentiment, minstens 10 met een negatief sentiment en minstens 10 met een neutraal sentiment

  2. Plaats de verzamelde tweets in een tekstbestand (zonder de naam van de verzender) bijvoorbeeld met Word, Notepad of Kladblok (wel opslaan als "Plain text"/platte tekst). Plaats daarna voor elke tweet een teken dat het sentiment aangeeft, gevolgd door een spatie. Gebruik "+" voor positief, "-" voor negatief en "=" voor neutraal. Voorbeelden:
    + dit is een hele positieve tweet :)
    - dit is een negatieve tweet :(
    = en dit is dus een neutrale tweet

  3. Gebruik jouw Twitterbestand als trainingdata voor automatische sentimentanalyse. Welke score haal je? Als je een hogere score wil halen dan moet je extra tweets toevoegen aan het bestand met meer verschillende woorden.

  4. Schrijf over dit werk een blogpost van ten minste 400 woorden waarin je in ieder geval de volgende vragen beantwoord:

    1. Op basis van welke criteria heb je de tweets geselecteerd?
    2. Heb je zelf in de tweets woorden gezien die nuttig zijn voor sentimentanalyse?
    3. Hoeveel tweets heb je geselecteerd? En hoeveel van elke klasse?
    4. Welke score haalt jouw Twitterverzameling in demo voor sentimentanalyse? Heb je nog geprobeerd om de score te verbeteren? Zo ja, wat waren jouw ervaringen daarbij?

Opmerkingen

Link: sentimentanalysedemo

Lever het adres van jouw blogpost in op Nestor bij "Social Media 2011 - Inleveren" voor de deadline: maandag 10 oktober 2011, 09:00 's morgens.


Veelgestelde vragen

Wat betekent de foutmelding utf8"\x85" does not map to Unicode at /net/aistaff/erikt/demos/twitter/bin/tokenize line 18, line 2.? Deze foutmelding betekent dat er in het opgestuurde bestand in de 2e tweet een teken staat dat het programma niet kan verwerken. Dit is vaak een letter met een accent, een quote of iets anders wat niet op een standaardtoetsenbord staat. Verwijder dit teken uit de tweet en stuur het bestand nogmaals op.

Wat betekent de score FB1: 33.33? Je kan op verschillende manieren de score FB1: 33.33 halen maar meestal betekent dit dat alle testtweets als positief zijn herkend of dat ze allemaal als negatief zijn herkend. De aantallen herkende testtweets van elke klasse vind je achteraan de regels P en N in de resultaten. Je kunt dit resultaat al halen met een bestand met 1 tweet, positief dan wel negatief. 33.33 is dus geen goede score.

Hoe haal ik een hoge score in de demo? Gebruik dezelfde verhoudingen tweets als in de testdata: voor elke positieve tweet: 1 negatieve tweet en 2 neutrale tweets. Bedenk verschillende woorden met een positief sentiment, ga op zoek naar tweets met deze woorden en neem voor elk van deze woorden een tweet op in jouw bestand. Doe hetzelfde voor woorden met een negatief sentiment. Voeg meer tweets met dit soort woorden toe aan jouw bestand als je nog niet tevreden bent over de score. Vergeet niet de verhouding in de testverzameling: 1:1:2, dus voeg ook neutrale tweets toe. Maar let ook op de testscores voor positief en negatief. Voeg extra positieve of extra negatieve tweets toe als de andere klasse overheerst in de resultaten (getallen achteraan resultaatregels 4 en 5 moeten niet te veel verschillen). Stop met het bestand uitbreiden als de score niet meer beter wordt.

Als ik tweets kies over 1 specifiek onderwerp, wat is dan het sentiment over het onderwerp? Bij deze opdracht bepaal je per tweet wat het sentiment is: positief, negatief of neutraal. Als je wil weten wat het sentiment is over een bepaald onderwerp dan moet je tweets verzamelen over dit onderwerp en dan van allemaal bepalen wat het sentiment is, zonder verdere selectie op sentiment. Je krijgt dan waarschijnlijk geen verdeling 10:10:10 (evenveel van elk sentiment) maar bijvoorbeeld 2:12:16, met weinig positieve, meer negatieve en meest neutrale tweets. Als je de sentimenten de scores +1, -1 en 0 geeft dan levert dit een totale score op van +1*2 + -1*12 + 0*16 = -10 op een schaal van -30 tot +30. Dan heb je het sentiment over dit onderwerp te pakken: overwegend negatief.


Tips


Last update: October 09, 2011. erikt(at)xs4all.nl