Caractères réééépétés
Retour à votre analyse de sentiment ! Votre prochaine tâche consiste à remplacer les mots allongés qui apparaissent dans les tweets. Nous définissons un mot allongé comme un mot qui contient un caractère répété deux fois ou plus, par exemple « Awesoooome ».
Remplacer ces mots est très important, car un classificateur les traitera comme des termes différents des mots d’origine, ce qui diminuera leur fréquence.
Pour les trouver, vous utiliserez des groupes capturants et y ferez référence à l’aide de numéros, par exemple \4.
Si vous voulez trouver une correspondance pour Awesoooome, vous devez d’abord capturer Awes, puis faire correspondre o et référencer le même caractère ensuite, puis me.
La liste sentiment_analysis, qui contient le texte de trois tweets, et le module re sont chargés dans votre session. Vous pouvez utiliser print() pour afficher les données dans l’IPython Shell.
Cet exercice fait partie du cours
<cours>Expressions rationnelles en Python</cours>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 vérifier s’ils contiennent des mots allongés. Affectez le résultat àmatch_elongated. - Affectez 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")