Пооовторювані символи
Повернімося до аналізу сентименту! Ваше наступне завдання — замінити розтягнуті слова, які трапляються у твітах. Ми визначаємо розтягнуте слово як таке, що містить повторюваний символ два або більше разів, напр.: "Awesoooome".
Замінювати такі слова дуже важливо, адже класифікатор сприйматиме їх як інші терміни, відмінні від початкових слів, що знижує їхню частоту.
Щоб знайти їх, ви використаєте групи захоплення та посилання на них за номерами, напр., \4.
Якщо ви хочете знайти збіг для Awesoooome, спочатку потрібно захопити Awes. Далі — зіставити o і послатися назад на той самий символ, а потім — me.
Список sentiment_analysis, що містить тексти трьох твітів, і модуль re уже завантажені у вашому середовищі. Ви можете скористатися print(), щоб переглянути дані в оболонці IPython.
Ця вправа є частиною курсу
Regular Expressions in Python
Інструкції до вправи
- Доповніть регулярний вираз, щоб він відповідав розтягнутому слову, як описано.
- Переберіть елементи списку
sentiment_analysis, щоб з'ясувати, чи містять вони розтягнуті слова. Присвойте результат зміннійmatch_elongated. - Присвойте номер нуль захопленої групи змінній
elongated_word. - Виведіть результат, що міститься у змінній
elongated_word.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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")