Laaanggezogene Zeichen
Zurück zur Sentiment-Analyse! Deine nächste Aufgabe ist es, in den Tweets verlängerte Wörter zu ersetzen. Wir definieren ein verlängertes Wort als ein Wort, das ein sich wiederholendes Zeichen zwei- oder mehrmals enthält, z. B. "Awesoooome".
Das Ersetzen solcher Wörter ist wichtig, weil ein Klassifikator sie sonst als andere Terme als die ursprünglichen Wörter behandelt und dadurch ihre Häufigkeit sinkt.
Um sie zu finden, verwendest du Capturing Groups und verweist mithilfe von Nummern wieder auf sie zurück, z. B. \4.
Wenn du einen Treffer für Awesoooome finden möchtest, musst du zuerst Awes erfassen. Danach matchst du o und verweist auf dasselbe Zeichen zurück und dann me.
Die Liste sentiment_analysis mit den Texten von drei Tweets sowie das Modul re sind in deiner Session geladen. Du kannst print() verwenden, um die Daten in der IPython-Shell anzusehen.
Diese Übung ist Teil des Kurses
<Kurs>Reguläre Ausdrücke in Python</Kurs>Übungsanweisungen
- Vervollständige den regulären Ausdruck, um ein verlängertes Wort wie beschrieben zu matchen.
- Durchsuche die Elemente in der Liste
sentiment_analysis, um herauszufinden, ob sie verlängerte Wörter enthalten. Weise das Ergebnismatch_elongatedzu. - Weise die erfasste Gruppe mit der Nummer null der Variablen
elongated_wordzu. - Gib das in der Variablen
elongated_wordenthaltene Ergebnis aus.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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")