Caratteri riiipetuti
Torniamo alla sentiment analysis! Il tuo prossimo compito è sostituire le parole allungate che compaiono nei tweet. Definiamo una parola allungata come una parola che contiene un carattere ripetuto due o più volte, ad es. "Awesoooome".
Sostituire queste parole è molto importante perché un classificatore le tratterà come termini diversi rispetto alle parole originali, abbassandone la frequenza.
Per trovarle, userai i gruppi di cattura e li richiamerai usando i numeri, ad es. \4.
Se vuoi trovare una corrispondenza per Awesoooome, prima devi catturare Awes. Poi abbina o e richiama lo stesso carattere, e infine me.
La lista sentiment_analysis, che contiene il testo di tre tweet, e il modulo re sono già caricati nella tua sessione. Puoi usare print() per visualizzare i dati nella shell IPython.
Questo esercizio fa parte del corso
Espressioni regolari in Python
Istruzioni dell'esercizio
- Completa l'espressione regolare per abbinare una parola allungata come descritto.
- Cerca tra gli elementi nella lista
sentiment_analysisper verificare se contengono parole allungate. Assegna il risultato amatch_elongated. - Assegna il gruppo catturato numero zero alla variabile
elongated_word. - Stampa il risultato contenuto nella variabile
elongated_word.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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")