Повтооряющиеся символы
Вернёмся к анализу тональности! Следующая задача — заменить растянутые слова, встречающиеся в твитах. Растянутым мы называем слово, в котором один и тот же символ повторяется два раза или более. Например: «Awesoooome».
Замена таких слов очень важна: классификатор будет воспринимать их как отдельные термины, отличные от исходных слов, что снизит их частотность.
Для их поиска вы будете использовать захватывающие группы и обращаться к ним по номерам. Например: \4.
Чтобы найти совпадение для Awesoooome, сначала нужно захватить Awes, затем сопоставить o и обратиться к тому же символу по ссылке, а после — сопоставить me.
Список sentiment_analysis, содержащий текст трёх твитов, и модуль re уже загружены в вашей сессии. Вы можете использовать print() для просмотра данных в оболочке IPython.
Это упражнение является частью курса
Регулярные выражения в 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")