Heeeerhaalde tekens
Terug naar je sentimentanalyse! Je volgende taak is om verlengde woorden te vervangen die in de tweets voorkomen. We definiëren een verlengd woord als een woord dat een herhaald teken twee of meer keer bevat, bijv. "Gaaaaf".
Het vervangen van zulke woorden is belangrijk, omdat een classifier ze anders als een andere term dan de bronwoorden behandelt, waardoor hun frequentie lager wordt.
Om ze te vinden, gebruik je capturegroepen en verwijs je er met nummers naar terug, bijvoorbeeld \4.
Als je een match wilt vinden voor Awesoooome, moet je eerst Awes vastleggen. Match daarna o en verwijs naar hetzelfde teken terug, en dan me.
De lijst sentiment_analysis, met de tekst van drie tweets, en de module re zijn in je sessie geladen. Je kunt print() gebruiken om de data in de IPython Shell te bekijken.
Deze oefening maakt deel uit van de cursus
Regular expressions in Python
Oefeninstructies
- Maak de reguliere expressie af om een verlengd woord te matchen zoals beschreven.
- Doorzoek de elementen in de lijst
sentiment_analysisom te bepalen of ze verlengde woorden bevatten. Ken het resultaat toe aanmatch_elongated. - Ken groepsnummer nul (de volledige match) toe aan de variabele
elongated_word. - Print het resultaat in de variabele
elongated_word.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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")