Bắt đầu ngayBắt đầu miễn phí

Ký tự lặp lạiiii

Quay lại bài toán sentiment analysis! Nhiệm vụ tiếp theo của bạn là thay thế các từ bị kéo dài xuất hiện trong tweet. Ta định nghĩa từ bị kéo dài là từ chứa một ký tự lặp lại hai lần trở lên, ví dụ: "Awesoooome".

Việc thay thế những từ này rất quan trọng vì một bộ phân loại sẽ coi chúng là thuật ngữ khác với từ gốc, làm giảm tần suất xuất hiện của từ gốc.

Để tìm chúng, bạn sẽ dùng nhóm bắt (capturing group) và tham chiếu lại nhóm đó bằng số. Ví dụ \4.

Nếu bạn muốn tìm kết quả khớp cho Awesoooome, trước tiên bạn cần bắt Awes. Sau đó, khớp o và tham chiếu lại chính ký tự đó, rồi đến me.

Danh sách sentiment_analysis, chứa văn bản của ba tweet, và mô-đun re đã được nạp trong phiên làm việc của bạn. Bạn có thể dùng print() để xem dữ liệu trong IPython Shell.

Bài tập này là một phần của khóa học

Regular Expressions in Python

Xem khóa học

Hướng dẫn bài tập

  • Hoàn thiện biểu thức chính quy để khớp một từ bị kéo dài như mô tả.
  • Duyệt các phần tử trong danh sách sentiment_analysis để xem chúng có chứa từ bị kéo dài hay không. Gán kết quả cho match_elongated.
  • Gán nhóm đã bắt số 0 cho biến elongated_word.
  • In kết quả được chứa trong biến elongated_word.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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") 
Chỉnh sửa và Chạy Mã