1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Sentiment Analysis in R

Connected

cvičení

Stressed Out!

V tomto cvičení upravíš seznam negativních slov tak, aby lépe odpovídal konkrétnímu textu, a pak porovnáš výsledky základního a vlastního skóre polarity().

Populární píseň od Twenty One Pilots se jmenuje "Stressed Out". Když si text prohlédneš, zjistíš, že jde o nostalgii za dětstvím. Většina lidí by řekla, že polarita je negativní – text opakovaně zmiňuje stres, obavy a přetvářku.

Porovnáme text písně pomocí výchozího slovníku subjektivity a také vlastního.

Nejdřív je potřeba ověřit, že slovník subjektivity key.pol hledaný výraz ještě neobsahuje. Jeden ze způsobů, jak to zkontrolovat, je funkce grep(), která vrátí řádky odpovídající zadanému vzoru. Příklad použití při indexování:

data_frame[grep("search_pattern", data_frame$column), ]

Jakmile se přesvědčíš, že slang nebo nové slovo ve slovníku key.pol zatím není, přidáš ho. Níže uvedený kód využívá sentiment_frame() k vytvoření nového slovníku. Funkce sentiment_frame() přijme původní vektor pozitivních slov positive.words a původní negative.words rozšířená o slangová slova "smh" a "kappa", která jsou považována za negativní. Kladné a záporné váhy lze nastavit ručně, ale výchozí hodnoty jsou 1 a -1, takže níže nejsou uvedeny.

custom_pol <- sentiment_frame(positive.words, c(negative.words, "hate", "pain"))

Teď můžeš aplikovat polaritu – bude vycházet z vlastního slovníku subjektivity!

Pokyny

100 XP

Proměnná stressed_out obsahuje text písně "Stressed Out" od Twenty One Pilots.

  • Použij polarity() na stressed_out a zjisti výchozí skóre.
  • Prohledej key.pol a najdi slova obsahující "stress". Použij grep() k indexování datového rámce podle sloupce x.
  • Vytvoř custom_pol jako nový datový rámec pro analýzu sentimentu.
    • Zavolej sentiment_frame() a předej positive.words jako první argument bez přidávání nových výrazů.
    • Dále použij c() k spojení negative.words s novými výrazy "stressed" a "turn back".
  • Znovu aplikuj polarity() na stressed_out s dodatečným parametrem polarity.frame = custom_pol a porovnej, jak nová slova změní skóre tak, aby lépe odráželo skutečné vyznění písně.