Bỏ qua tới nội dung chính
Quay lại tin tức

Từ TF-IDF đến Transformers: Triển khai bốn thế hệ tìm kiếm ngữ nghĩa

Towards Data Science· Dr. Theophano Mitsa· 25/5/2026general

Tìm kiếm ngữ nghĩa đã phát triển như thế nào từ việc đối sánh từ khóa đơn giản thành khả năng hiểu ngôn ngữ dựa trên mô hình Transformer hiện đại? Bài viết thực hành này xây dựng bốn thế hệ hệ thống tìm kiếm ngữ nghĩa từng bước bằng Python. Bài viết Từ TF-IDF đến Transformer: Triển khai bốn thế hệ tìm kiếm ngữ nghĩa xuất hiện đầu tiên trên Towards Data Science.

Học sâu Từ TF-IDF đến Transformers: Triển khai bốn thế hệ tìm kiếm ngữ nghĩa Truy xuất dựa trên quy tắc, học máy cổ điển, nhúng và transformers tinh chỉnh trong Python Tiến sĩ Theophano Mitsa Ngày 25/5/2026 23 phút đọc Chia sẻ Hình ảnh được tạo bởi Theophano Mitsa với ChatGPT. “Cái đẹp sẽ cứu thế giới” — Fyodor Dostoevsky A. Giới thiệu Tìm kiếm ngữ nghĩa không xuất hiện chỉ sau một đêm. Các hệ thống dựa trên transformer ngày nay có thể mang lại cảm giác gần như kỳ diệu, có khả năng nắm bắt ngữ cảnh và thậm chí cả những mối quan hệ tinh tế giữa các ý tưởng. Nhưng nguồn gốc của các hệ thống tìm kiếm ngữ nghĩa ngày nay thực sự là một quá trình dần dần. Trước khi có nhúng, transformers và các mô hình ngôn ngữ lớn, các nhà nghiên cứu đã sử dụng khớp từ khóa, vector TF-IDF và các phương pháp học máy truyền thống để phân tích văn bản. Nhiều ý tưởng trước đó chưa bao giờ thực sự biến mất. Trên thực tế, các hệ thống hiện đại vẫn được xây dựng dựa trên các khái niệm được phát triển từ nhiều thập kỷ trước. Lĩnh vực này đã phát triển từng lớp, với mỗi thế hệ giải quyết một số vấn đề đồng thời làm nảy sinh những vấn đề mới. Hiểu được sự tiến hóa đó là điều quan trọng. Trong học máy, cũng như trong khoa học nói chung, việc biết chúng ta đến từ đâu thường giúp chúng ta hiểu chúng ta đang đi về đâu. Lịch sử tìm kiếm ngữ nghĩa cũng là câu chuyện về một sự thay đổi quan trọng trong chính AI: từ các hệ thống minh bạch, do con người thiết kế đến các mô hình ngày càng thông minh mà lý do nội bộ của chúng khó diễn giải hơn nhiều. Theo cách đó, chúng ta chuyển từ các quy tắc truy xuất rõ ràng và các tính năng được thiết kế thủ công sang các hệ thống có khả năng học các biểu diễn trừu tượng của ý nghĩa trực tiếp từ dữ liệu. Trong bài viết này, chúng ta sẽ khám phá sự tiến triển đó thông qua một ví dụ cụ thể: so sánh bài phê bình nghệ thuật của một sinh viên với các bài phê bình được viết bởi các chuyên gia về cùng một bức tranh. Thay vì đi thẳng vào nhúng và transformers, chúng ta sẽ xây dựng một chuỗi các hệ thống truy xuất ngày càng tinh vi, kiểm tra cả điểm mạnh và hạn chế của chúng. Chúng ta sẽ đề cập đến bốn giai đoạn chính trong sự phát triển của tìm kiếm ngữ nghĩa: Phương pháp 1 — Tính năng truy xuất thủ công + TF-IDF Một hệ thống xếp hạng minh bạch kết hợp độ tương đồng cosine TF-IDF với các tính năng có thể diễn giải được như trùng lặp từ khóa, chuẩn hóa độ dài phê bình và trọng số theo độ mới. Phương pháp 2 — Học máy cổ điển để xếp hạng ngữ nghĩa Sử dụng các vector tính năng TF-IDF cùng với các mô hình học có giám sát như Hồi quy Logistic để học hành vi xếp hạng từ các ví dụ được gắn nhãn. Phương pháp 3 — Tìm kiếm ngữ nghĩa dựa trên nhúng Thay thế các biểu diễn từ vựng thưa thớt bằng các nhúng ngữ nghĩa dày đặc được tạo bởi Sentence Transformers. Phương pháp 4 — Tinh chỉnh Transformer Tinh chỉnh các kiến trúc transformer được đào tạo trước như BERT để mô hình hóa trực tiếp các mối quan hệ ngữ nghĩa giữa các bài phê bình. Hình 1 dưới đây cho thấy sự phát triển của các phương pháp tìm kiếm ngữ nghĩa. Hình 1. Sự tiến hóa của các phương pháp tìm kiếm ngữ nghĩa. Cuối cùng, chúng ta sẽ xây dựng các quy trình tìm kiếm ngữ nghĩa ngày càng có khả năng. Ngoài ra, chúng ta sẽ hiểu rõ hơn về cách lĩnh vực này tự phát triển, tức là từ các hệ thống chủ yếu được điều khiển bởi các tính năng do con người thiết kế đến các mô hình học ý nghĩa trực tiếp từ dữ liệu. B. Dữ liệu Để tập trung vào tìm kiếm ngữ nghĩa thay vì kỹ thuật tập dữ liệu, chúng ta sẽ sử dụng một tập dữ liệu tổng hợp nhỏ gồm các bài phê bình nghệ thuật. Tập dữ liệu được thiết kế có chủ đích để mô phỏng sự khác biệt thực tế về từ vựng, phong cách viết, cách diễn giải và chiều sâu phân tích giữa các nhà phê bình thảo luận về cùng một bức tranh. Mỗi bài phê bình bao gồm cả siêu dữ liệu và văn bản dạng tự do. Nhiệm vụ của chúng tôi trong suốt bài viết là so sánh bài phê bình của một sinh viên mới với các bài phê bình của chuyên gia về cùng một bức tranh và xác định sự tương đồng về ngữ nghĩa bằng cách sử dụng các phương pháp truy xuất ngày càng tiên tiến hơn. Cấu trúc của mỗi bài phê bình được biểu diễn bằng một dataclass Python đơn giản: @dataclass class Critique: critique_id: str painting_id: str critic_name: str title: str text: str published_at: datetime Trường văn bản ở trên chứa nội dung phê bình chính được sử dụng để phân tích ngữ nghĩa, trong khi các trường như painting_id, critic_name và published_at cung cấp siêu dữ liệu có thể hỗ trợ các thử nghiệm lọc, nhóm hoặc xếp hạng. Một bài phê bình điển hình có thể trông như sau: Critique( critique_id="c102", painting_id="starry_night", critic_name="Dr. Elaine Foster", title="Emotion Through Motion", text=""" Van Gogh transforms the night sky into a structure that seems alive. The swirling brushstrokes generate tension on the soul while the exaggerated brightness of the stars creates a dreamlike atmosphere. """, published_at=datetime(2021, 5, 12) ) Mặc dù là dữ liệu tổng hợp, tập dữ liệu này đủ phong phú để minh họa các ý tưởng trung tâm đằng sau các hệ thống truy xuất ngữ nghĩa — từ sự tương đồng dựa trên từ khóa đơn giản đến các biểu diễn ý nghĩa dựa trên transformer. Xin lưu ý rằng mã cho cả bốn phương pháp đều có sẵn trên Github. Thư mục chính xác được hiển thị ở cuối bài viết. C. Phương pháp C.1 Phương pháp 1 – Truy xuất dựa trên quy tắc và xếp hạng TF–IDF Chúng tôi bắt đầu với một trong những cách tiếp cận cổ điển và dễ hiểu nhất đối với tìm kiếm ngữ nghĩa: kết hợp xếp hạng TF–IDF với một tập hợp nhỏ các tính năng truy xuất được tạo thủ công. Mặc dù đơn giản so với các hệ thống học sâu hiện đại, cách tiếp cận này nắm bắt nhiều ý tưởng cốt lõi đằng sau việc truy xuất tài liệu và tính điểm tương đồng. Ở giai đoạn này, hệ thống không thực sự “hiểu” ngôn ngữ. Thay vào đó, nó xác định các mẫu trong cách sử dụng từ và kết hợp chúng với các phương pháp phỏng đoán tính điểm được thiết kế thủ công. Nền tảng của phương pháp là TF–IDF (Tần suất thuật ngữ – Tần suất tài liệu nghịch đảo), một kỹ thuật cổ điển để chuyển đổi văn bản thành các vectơ số. TF–IDF tăng tầm quan trọng của các từ xuất hiện thường xuyên trong một tài liệu nhưng tương đối không phổ biến trong toàn bộ tập hợp lớn hơn. Các từ thông thường như “the” hoặc “painting” nhận được rất ít trọng số, trong khi các thuật ngữ đặc biệt hơn như “composition”, “contrast” hoặc “symbolism” trở nên có ảnh hưởng hơn. Sau khi điều chỉnh bộ vector hóa TF–IDF trên các bài phê bình của chuyên gia, hệ thống p

Nguồn tin: Towards Data Science — Tác giả: Dr. Theophano Mitsa. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.