Opakoooované znaky
Zpět k analýze sentimentu! Tvým dalším úkolem je nahradit protažená slova, která se v tweetech vyskytují. Protažené slovo definujeme jako slovo, ve kterém se nějaký znak opakuje dvakrát nebo vícekrát za sebou – například „Awesoooome".
Nahrazení těchto slov je velmi důležité, protože klasifikátor by je jinak považoval za odlišné výrazy než jejich původní podoby, což by snižovalo jejich frekvenci.
K jejich nalezení použiješ zachytávací skupiny a zpětné reference na ně pomocí čísel, např. \4.
Chceš-li najít shodu pro Awesoooome, musíš nejdřív zachytit Awes. Poté zachyť o a odkaž se zpět na stejný znak, a pak zachyť me.
Seznam sentiment_analysis s texty tří tweetů a modul re jsou v tvé session načteny. Data si můžeš prohlédnout pomocí print() v IPython Shellu.
Toto cvičení je součástí kurzu
Regular Expressions in Python
Pokyny k cvičení
- Doplň regulární výraz tak, aby odpovídal protaženému slovu podle výše uvedeného popisu.
- Prohledej prvky v seznamu
sentiment_analysisa zjisti, jestli obsahují protažená slova. Výsledek přiřaď do proměnnématch_elongated. - Přiřaď zachycenou skupinu číslo nula do proměnné
elongated_word. - Vypiš výsledek uložený v proměnné
elongated_word.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Complete the regex to match an elongated word
regex_elongated = r"____(____)____\w*"
for tweet in sentiment_analysis:
# Find if there is a match in each tweet
match_elongated = re.____(____, ____)
if match_elongated:
# Assign the captured group zero
elongated_word = match_elongated.____(____)
# Complete the format method to print the word
print("Elongated word found: {____}".format(word=____))
else:
print("No elongated word found")