Caractères répééétés
Retour à votre analyse de sentiments ! Votre prochaine tâche consiste à remplacer les mots allongés qui apparaissent dans les tweets. On définit un mot allongé comme un mot qui contient un même caractère répété deux fois ou plus, p. ex. « Awesoooome ».
Remplacer ces mots est très important, car un classifieur les traitera comme des termes différents des mots d'origine, ce qui réduira leur fréquence.
Pour les repérer, vous utiliserez des groupes capturants et y ferez référence au moyen de numéros, p. ex. \4.
Si vous voulez trouver une correspondance pour Awesoooome, vous devez d'abord capturer Awes. Ensuite, faites correspondre o, faites référence au même caractère, puis me.
La liste sentiment_analysis, qui contient le texte de trois tweets, ainsi que le module re sont déjà chargés dans votre session. Vous pouvez utiliser print() pour afficher les données dans l'IPython Shell.
Cette activité fait partie du cours
Expressions régulières en Python
Instructions de l’exercice
- Complétez l'expression régulière pour faire correspondre un mot allongé tel que décrit.
- Parcourez les éléments de la liste
sentiment_analysispour déterminer s'ils contiennent des mots allongés. Assignez le résultat àmatch_elongated. - Assignez le groupe capturé numéro zéro à la variable
elongated_word. - Affichez le résultat contenu dans la variable
elongated_word.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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")