НачатьНачать бесплатно

Повтооряющиеся символы

Вернёмся к анализу тональности! Следующая задача — заменить растянутые слова, встречающиеся в твитах. Растянутым мы называем слово, в котором один и тот же символ повторяется два раза или более. Например: «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") 
Редактировать и запускать код