Chuyển đến nội dung chính

Textacy: Giới thiệu về Làm sạch và Chuẩn hóa Dữ liệu Văn bản trong Python

Tìm hiểu cách Textacy, một thư viện Python, đơn giản hóa bước tiền xử lý dữ liệu văn bản cho học máy. Khám phá các tính năng nổi bật như chuẩn hóa ký tự và che mặt dữ liệu, và xem Textacy so với các thư viện khác như NLTK và spaCy.
Đã cập nhật 5 thg 10, 2026  · 5 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Hướng dẫn này là đóng góp quý giá từ cộng đồng và đã được DataCamp biên tập để đảm bảo rõ ràng và chính xác.

Bạn muốn chia sẻ chuyên môn của mình? Chúng tôi rất mong nhận được! Hãy gửi bài viết hoặc ý tưởng qua Biểu mẫu Đóng góp Cộng đồng.

Với vai trò là người làm dữ liệu, bạn hẳn hiểu tầm quan trọng của việc xây dựng một quy trình làm sạch và chuẩn bị dữ liệu vững chắc trong bất kỳ dự án học máy nào. Tuy nhiên, khi làm việc với dữ liệu văn bản, tầm quan trọng này càng lớn do các thách thức riêng của dạng dữ liệu này. Những vấn đề như dữ liệu nhiễu, lỗi chính tả, viết tắt, tiếng lóng và lỗi ngữ pháp đều có thể ảnh hưởng tiêu cực đến hiệu suất của mô hình học máy.

Để đảm bảo dữ liệu văn bản dùng cho mô hình học máy là chính xác, nhất quán và không có lỗi, một quy trình làm sạch và chuẩn bị dữ liệu được thiết kế tốt là điều then chốt. Thông thường, quy trình này bao gồm một loạt tác vụ như chuẩn hóa văn bản, tách từ (tokenization), loại bỏ từ dừng, stemming, lemmatization và che mặt dữ liệu.

Mặc dù các thư viện phổ biến như NLTK, gensim và spaCy cung cấp nhiều công cụ xử lý và làm sạch văn bản, việc xử lý dữ liệu văn bản vẫn có những thách thức riêng có thể tác động đáng kể đến hiệu suất mô hình. Các thách thức này có thể trải dài từ chuẩn hóa ký tự đến che mặt dữ liệu và nhiều hơn nữa. Dù có thể giải quyết bằng các thư viện trên, chúng thường đòi hỏi nhiều thời gian và công sức.

Đó là lúc Textacy phát huy tác dụng. Textacy là một thư viện Python cung cấp cách đơn giản, dễ dùng để xử lý nhiều vấn đề thường gặp khi làm việc với dữ liệu văn bản. Dù các thư viện khác có chức năng tương tự, điểm khác biệt của Textacy trong bối cảnh này là tập trung vào việc giải các vấn đề cụ thể như chuẩn hóa ký tự và che mặt dữ liệu.

Chuẩn hóa Ký tự với Textacy

Chuẩn hóa ký tự là quá trình chuyển đổi dữ liệu văn bản về một định dạng chuẩn, điều này đặc biệt quan trọng khi xử lý văn bản đa ngôn ngữ.

Text = ‘ the cafe “Saint-Raphaël” is loca-/nted on Cote d’Azur.’

Ký tự có dấu là một vấn đề phổ biến trong chuẩn hóa văn bản và có thể ảnh hưởng đáng kể đến độ chính xác của mô hình học máy.

Vấn đề nảy sinh vì người dùng không nhất quán trong việc dùng ký tự có dấu, dẫn đến thiếu nhất quán trong dữ liệu.

Ví dụ, các token "Saint-Raphaël" và "Saint-Raphael" có thể chỉ cùng một thực thể, nhưng nếu không chuẩn hóa, chúng sẽ không được nhận diện là giống hệt nhau. Ngoài ra, văn bản thường chứa các từ bị ngắt bằng dấu gạch nối, và các dấu nháy đơn như trong ví dụ trên có thể gây khó khăn cho việc tách từ. Với tất cả các vấn đề này, việc chuẩn hóa văn bản và thay thế các dấu và ký tự kiểu cách bằng tương đương ASCII là hợp lý.

Chúng ta sẽ dùng Textacy cho mục đích đó vì thư viện này có sẵn một tập hợp hàm tiền xử lý được định nghĩa trước, giúp giải quyết vấn đề một cách dễ dàng và hiệu quả. Bảng sau cho thấy một số hàm tiền xử lý của Textacy có thể hoạt động độc lập với các thư viện khác.

Hàm

Mô tả

normalize _hyphentated_words

Ghép lại những từ bị tách bởi ngắt dòng

normalize_quotation_marks

Thay tất cả kiểu dấu ngoặc kép kiểu cách bằng tương đương ASCII

normalize_unicode

Thống nhất các mã khác nhau của ký tự có dấu trong Unicode

remove_accents

Thay ký tự có dấu bằng ASCII

replace_emails

Thay email bằng __EMAIL__

replace_urls

Thay URL bằng __URL__

text = "The café "Saint-Raphaël" is loca-\nted on Cote dʼAzur."


import textacy
import textacy.preprocessing as tprep


def normalize(text):
   text = tprep.normalize_hyphenated_words(text)
   text = tprep.normalize_quotation_marks(text)
   text = tprep.normalize_unicode(text)
   text = tprep.remove_accents(text)
   return text

Sử dụng hàm normalize ở trên, vốn dựa trên các hàm tiền xử lý dựng sẵn của Textacy, sẽ giúp chúng ta xử lý vấn đề chuẩn hóa với nỗ lực tối thiểu.

print(normalize(text)

Kết quả:

The cafe Saint-Raphael is located in Cote d' Azure

Che mặt Dữ liệu với Textacy

Dữ liệu văn bản thường không chỉ chứa từ ngữ thông thường mà còn có nhiều loại định danh như URL, địa chỉ email hoặc số điện thoại. Đôi khi chúng ta quan tâm đặc biệt đến những mục này. Tuy nhiên, trong nhiều trường hợp, việc loại bỏ hoặc che mặt thông tin này có thể tốt hơn, hoặc vì không liên quan, hoặc do lo ngại về quyền riêng tư.

Textacy có một số hàm thay thế tiện lợi để che mặt dữ liệu, như minh họa trong bảng trên. Các hàm thay thế này được định nghĩa sẵn, giúp dễ dàng che thông tin nhạy cảm hoặc không liên quan mà không cần tự viết biểu thức chính quy.

text = "Check out https://spacy.io/usage/spacy-101"print(replace_urls(text))

Kết quả:

Check out __URL__

Tóm tắt

Trong bài viết này, chúng tôi đã cho thấy cách sử dụng Textacy để đơn giản hóa quá trình tiền xử lý dữ liệu văn bản. Với dải hàm dựng sẵn, Textacy giúp xử lý dễ dàng các thách thức tiền xử lý phổ biến như chuẩn hóa ký tự và che mặt dữ liệu.

Bằng cách tinh gọn quy trình tiền xử lý, Textacy mở đường để tập trung vào các khía cạnh phức tạp và thách thức hơn của xử lý ngôn ngữ tự nhiên. Dù bạn đang làm phân tích cảm xúc, mô hình chủ đề hay bất kỳ tác vụ NLP nào khác, Textacy có thể giúp bạn chuẩn bị dữ liệu sẵn sàng cho phân tích một cách nhanh chóng và hiệu quả.

Vì vậy, lần tới khi bạn gặp thách thức tiền xử lý, hãy cân nhắc dùng Textacy để đơn giản hóa quy trình làm việc và tiết kiệm thời gian cũng như công sức quý báu.

Nếu bạn thấy hướng dẫn về Textacy này hữu ích và muốn đào sâu hiểu biết về tiền xử lý dữ liệu văn bản và xử lý ngôn ngữ tự nhiên, hãy cân nhắc đăng ký khóa học Natural Language Processing Fundamentals in Python của DataCamp.

Chủ đề
Python
Machine Learning
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem ThêmXem Thêm