Tách từ tiếng Việt (word segmentation) là bước chia một câu thành các đơn vị từ có nghĩa, thay vì chia theo dấu cách. Trong tiếng Anh, dấu cách gần như trùng với ranh giới từ: “student” là một từ, đứng giữa hai dấu cách. Trong tiếng Việt, dấu cách chỉ tách âm tiết: “học sinh” là một từ gồm hai âm tiết, “máy tính bảng” là một từ gồm ba âm tiết. Máy nhìn chuỗi ký tự thì chỉ thấy các khoảng trắng, nên phải có một bước riêng để biết âm tiết nào đi với âm tiết nào.
Bước này khó vì cùng một chuỗi âm tiết có thể ghép theo nhiều cách, mỗi cách cho một nghĩa. Ví dụ quen thuộc trong giới xử lý ngôn ngữ: “Tốc độ truyền thông tin tăng cao” có thể đọc là “truyền thông / tin” hoặc “truyền / thông tin”. Người đọc chọn đúng nhờ hiểu cả câu; máy phải học cách chọn từ dữ liệu.
Bài này giải thích vì sao tách từ là bài toán riêng của tiếng Việt, những kiểu câu làm máy tách sai, các cách máy đã và đang dùng để tách, hậu quả khi tách sai, và câu hỏi thực tế: mô hình ngôn ngữ lớn bây giờ còn cần bước này không.
Dấu cách trong tiếng Việt tách âm tiết, không tách từ
Tiếng Việt là ngôn ngữ đơn lập: mỗi âm tiết được viết rời, không biến đổi hình thái theo số, giống hay thì như tiếng Anh. Chữ Quốc ngữ ghi từng âm tiết thành một cụm chữ cái, giữa các cụm là dấu cách. Vì vậy một văn bản tiếng Việt nhìn bằng mắt máy là một dãy âm tiết đều nhau, không có dấu hiệu nào cho biết “bàn” trong “bàn ghế” và “bàn” trong “bàn bạc” thuộc về hai từ khác nhau.
Phần lớn từ vựng tiếng Việt lại là từ nhiều âm tiết, chủ yếu là từ hai âm tiết: “đất nước”, “xe máy”, “điện thoại”, “nhanh nhẹn”. Bên cạnh đó có rất nhiều từ một âm tiết dùng độc lập: “ăn”, “đi”, “nhà”, “sách”. Một âm tiết như “sinh” có thể là từ đứng riêng (“sinh con”) hoặc là mảnh của từ ghép (“học sinh”, “sinh viên”, “sinh học”). Máy không thể tra từng âm tiết rồi kết luận; nó phải nhìn ngữ cảnh.
Các ngôn ngữ khác cũng có bài toán tương tự nhưng theo kiểu khác. Tiếng Trung và tiếng Nhật viết liền không có dấu cách, nên phải tách từ từ đầu. Tiếng Đức ghép nhiều từ thành một chuỗi dài, nên đôi khi phải tách ngược lại. Tiếng Việt nằm ở giữa: có dấu cách nhưng dấu cách không nói đúng điều máy cần biết. Điều này dễ khiến người làm sản phẩm chủ quan, tưởng chỉ cần cắt theo khoảng trắng như tiếng Anh, rồi ngạc nhiên khi hệ thống tìm kiếm trả “sinh viên” cho người gõ “học sinh”.
Cần phân biệt thêm hai khái niệm hay bị lẫn. Tách câu là chia đoạn văn thành câu, dựa vào dấu chấm, chấm hỏi, xuống dòng. Tách từ là chia câu thành từ. Tách token của mô hình ngôn ngữ lớn lại là chuyện thứ ba, cắt theo mảnh chữ thống kê, không cần đúng ranh giới từ. Ba bước này thường được gọi chung là “tiền xử lý” nên dễ bị nói lẫn trong tài liệu.
Những câu khiến máy tách sai: nhập nhằng ranh giới
Nhập nhằng chồng lấn. Ba âm tiết liền nhau A B C mà cả “A B” lẫn “B C” đều là từ. “Ông già đi nhanh quá” có thể là “ông già / đi” (một cụ già đi nhanh) hoặc “ông / già đi” (ông lão hoá nhanh). Câu “truyền thông tin” ở trên cũng thuộc loại này. Máy dựa trên từ điển thuần sẽ chọn theo một quy tắc cố định, chẳng hạn ưu tiên từ dài nhất từ trái sang, nên sai đều đặn ở một nửa số trường hợp.
Nhập nhằng kết hợp. Một chuỗi hai âm tiết có lúc là một từ, có lúc là hai từ đứng cạnh nhau. Trong câu học trò quen thuộc “Học sinh học sinh học”, chuỗi “học sinh” lần đầu là danh từ, còn ở vế sau “học / sinh học” mới đúng. Tương tự, “bàn là” có thể là cái bàn là quần áo hoặc “bàn / là” trong câu “Cái bàn là đồ cũ”.
Tên riêng không có trong từ điển. Tên người, tên phố, tên công ty, tên sản phẩm luôn mới. “Nguyễn Thị Minh Khai” là một tên phố bốn âm tiết; “Bà Rịa” là một địa danh; tên các đơn vị hành chính sau sắp xếp năm 2025 có nhiều tên mới hoặc tên ghép mà từ điển cũ không có. Máy thấy chữ viết hoa thì đoán được là tên riêng, nhưng không biết tên dừng ở đâu khi hai tên đứng sát nhau.
Từ mới và từ mượn. Từ mới xuất hiện liên tục: “livestream”, “chốt đơn”, “ví điện tử”, “công nghệ số”. Từ mượn viết phiên âm có gạch nối hoặc không (“in-tơ-nét”, “ra-đi-ô”) càng làm công cụ lúng túng vì mỗi nơi viết một kiểu.
Văn bản không chuẩn. Bình luận mạng xã hội gõ không dấu, viết tắt, dính chữ, sai chính tả. Bộ tách từ huấn luyện trên báo chí gặp loại văn bản này thì độ chính xác giảm rõ, vì những gì nó học được về ranh giới từ dựa trên chữ có dấu và câu chuẩn.
Máy tách từ bằng cách nào: ba thế hệ phương pháp
Các cách tách từ tiếng Việt đi theo đúng lịch sử của ngành xử lý ngôn ngữ: từ luật và từ điển, sang thống kê, rồi sang học sâu. Bảng dưới tóm tắt ý chính của từng cách, không đi vào công thức.
| Cách tiếp cận | Ý tưởng | Điểm mạnh | Điểm yếu |
|---|---|---|---|
| Khớp từ điển dài nhất | Đi từ trái sang, lấy cụm âm tiết dài nhất có trong từ điển | Đơn giản, nhanh, dễ hiểu vì sao ra kết quả | Sai có hệ thống ở câu chồng lấn; bó tay với tên riêng, từ mới |
| Mô hình thống kê | Học xác suất một âm tiết bắt đầu hay tiếp nối một từ, từ kho văn bản đã tách sẵn bằng tay | Dùng được ngữ cảnh xung quanh, xử lý nhập nhằng tốt hơn | Cần kho dữ liệu gán nhãn; lệch khi văn bản khác thể loại |
| Học máy dựa trên luật biến đổi | Bắt đầu bằng một kết quả thô rồi học các luật sửa lỗi theo ngữ cảnh | Nhẹ, chạy nhanh, độ chính xác cao trên văn bản chuẩn | Vẫn phụ thuộc chất lượng dữ liệu huấn luyện |
| Mạng nơ-ron | Coi mỗi âm tiết là một vị trí cần gán nhãn “bắt đầu từ” hoặc “trong từ”, mô hình nhìn cả câu | Học được mẫu phức tạp, thích nghi tốt khi có thêm dữ liệu | Nặng hơn, khó giải thích từng quyết định |
Trong cộng đồng xử lý tiếng Việt, một số bộ công cụ mã nguồn mở được nhắc nhiều là VnCoreNLP (có thành phần tách từ dựa trên luật học được) và underthesea. Mô hình PhoBERT, một mô hình ngôn ngữ dành riêng cho tiếng Việt, được công bố kèm khuyến nghị đưa văn bản qua bước tách từ trước khi dùng. Đây là các công cụ có thật và phổ biến; bài không so sánh tốt xấu vì kết quả phụ thuộc loại văn bản và phiên bản, người dùng nên thử trên dữ liệu của chính mình.
Điểm chung của mọi cách: chất lượng phụ thuộc vào kho văn bản đã được người tách tay. Mà người tách tay cũng không luôn đồng ý với nhau, ví dụ “máy tính bảng” là một từ hay “máy tính / bảng”. Mỗi bộ dữ liệu có hướng dẫn gán nhãn riêng, nên hai công cụ học từ hai bộ khác nhau sẽ tách khác nhau mà không bên nào sai hẳn.
Tách sai thì hỏng ở đâu: tìm kiếm, phân loại, trích xuất
Tìm kiếm. Một cửa hàng trực tuyến cắt từ khoá theo khoảng trắng sẽ đánh chỉ mục “máy”, “giặt”, “cửa”, “ngang” thành bốn mục rời. Khách gõ “máy giặt cửa ngang” vẫn ra kết quả, nhưng đồng thời ra cả “cửa hàng”, “máy sấy”, vì mọi sản phẩm có chữ “máy” đều khớp một phần. Ngược lại, tách đúng thì “máy giặt” là một mục, kết quả gọn hơn hẳn. Nhiều hệ tìm kiếm hiện dùng cả hai: chỉ mục theo âm tiết để không bỏ sót, cộng chỉ mục theo từ để xếp hạng.
Phân loại và phân tích cảm xúc. Câu “không phải dở” và “phải không, dở” đều có các âm tiết giống nhau. Nếu bước tách từ và bước nhận diện phủ định làm việc kém, một bình luận khen có thể bị chấm là chê. Với bài toán đọc phản hồi khách hàng, lỗi này đi thẳng vào báo cáo.
Trích xuất thông tin. Nhận diện tên người, tên tổ chức, địa danh trong văn bản phụ thuộc vào ranh giới từ. Tách “Hà Nội” thành “Hà / Nội” rồi gán nhãn riêng thì hệ thống lưu hai mảnh rời, trùng với hàng nghìn tên người có chữ “Hà”. Trong hồ sơ hành chính, sai kiểu này làm lệch thống kê theo địa bàn.
Dịch máy và tóm tắt thời trước. Các hệ dịch thống kê từng coi bước tách từ là đầu vào bắt buộc; tách sai thì bảng cụm từ học sai từ đầu, lỗi lan đến tận câu dịch. Ngày nay các hệ dịch nơ-ron ít phụ thuộc vào bước này hơn, nhưng trong những dự án dùng mô hình nhỏ, chạy trên máy chủ riêng, tách từ vẫn hay được giữ lại vì cải thiện kết quả với chi phí thấp.
Mô hình ngôn ngữ lớn còn cần tách từ không
Các mô hình ngôn ngữ lớn đa ngôn ngữ, loại đứng sau các chatbot phổ biến, không dùng bước tách từ tiếng Việt. Chúng cắt văn bản bằng một bộ tách token học từ dữ liệu của nhiều ngôn ngữ, mỗi token là một mảnh chữ: có khi trọn một âm tiết, có khi chỉ nửa âm tiết, có khi một âm tiết kèm dấu cách phía trước. Mô hình tự học quan hệ giữa các mảnh qua lượng văn bản khổng lồ, nên nó “biết” “học sinh” đi với nhau mà không cần ai đánh dấu.
Vậy tách từ còn đất sống ở đâu? Thứ nhất, ở các mô hình chuyên tiếng Việt cỡ nhỏ và vừa, được huấn luyện trên văn bản đã tách từ; dùng chúng thì đầu vào phải tách giống lúc huấn luyện, nếu không chất lượng giảm. Thứ hai, ở hệ thống tìm kiếm truyền thống và phân tích văn bản theo từ khoá, nơi con người cần đọc được danh sách từ. Thứ ba, ở ngôn ngữ học máy tính và giáo dục, nơi câu hỏi “đây là mấy từ” có ý nghĩa tự thân.
Một điểm ít người để ý: dù chatbot không cần tách từ, chất lượng tiếng Việt của nó vẫn phụ thuộc vào cách bộ tách token cắt chữ Việt. Bộ tách token chủ yếu học từ văn bản tiếng Anh sẽ cắt chữ Việt có dấu thành nhiều mảnh vụn hơn, nghĩa là cùng một câu tốn nhiều token hơn, ngữ cảnh mô hình nhìn được ngắn đi. Vấn đề này có một bài riêng trong cùng danh mục.
Với người làm sản phẩm, câu trả lời thực dụng là: nếu dùng một mô hình lớn qua giao diện lập trình để hỏi đáp, tóm tắt, viết lại, không cần tự tách từ. Nếu xây chỉ mục tìm kiếm, đếm tần suất từ, huấn luyện một mô hình phân loại nhỏ, hay dùng một mô hình chuyên tiếng Việt có yêu cầu đầu vào đã tách, thì bước tách từ vẫn là việc phải làm cẩn thận.
Tự thử: cách nhận ra một bộ tách từ làm việc kém
Không cần biết lập trình để đánh giá sơ bộ một công cụ tách từ hay một tính năng tìm kiếm tiếng Việt. Chuẩn bị một trang giấy gồm những câu khó dưới đây, đưa vào công cụ và xem kết quả.
- Đưa vào vài câu chồng lấn kinh điển: “Ông già đi nhanh quá”, “Tốc độ truyền thông tin tăng cao”, “Học sinh học sinh học”. Một bộ tách tốt sẽ không tách cả ba theo cùng một mẫu máy móc.
- Thử tên riêng nhiều âm tiết và tên mới: tên phố dài, tên một phường hay tỉnh sau sắp xếp năm 2025, tên một sản phẩm vừa ra mắt. Xem công cụ có giữ nguyên tên thành một khối không.
- Thử văn bản không dấu và có viết tắt, chép một bình luận mạng thật (che tên người viết). So độ chính xác với câu báo chí chuẩn.
- Thử từ láy và từ ghép đẳng lập: “lung linh”, “nhà cửa”, “ăn uống”, “quần áo”. Lỗi phổ biến là tách đôi những từ này.
- Ghi lại tỷ lệ câu sai trên tổng số câu thử. Ví dụ giả định: 6 trên 20 câu khó bị tách sai là dấu hiệu cần thận trọng nếu dùng công cụ cho văn bản mạng xã hội.
- Nếu đang chọn giữa hai công cụ, đưa cùng một bộ câu cho cả hai và so từng câu, không chỉ nhìn con số chính xác tổng mà nhà phát triển công bố, vì con số đó đo trên loại văn bản của họ.
Phép thử này không thay được đánh giá bài bản trên bộ dữ liệu có nhãn, nhưng đủ để phát hiện những công cụ chỉ cắt theo khoảng trắng hoặc chỉ tra từ điển. Nếu dữ liệu đem thử có thông tin khách hàng, hãy che tên, số điện thoại, địa chỉ trước khi dán vào bất kỳ công cụ trực tuyến nào.
Câu hỏi thường gặp
Tiếng Việt có bao nhiêu phần trăm là từ hai âm tiết?
Các nghiên cứu từ vựng học đều ghi nhận từ hai âm tiết chiếm phần lớn vốn từ tiếng Việt, nhưng con số cụ thể khác nhau tuỳ từ điển và cách đếm, nhất là chuyện có tính tên riêng, thuật ngữ hay không. Vì vậy nên hiểu là đa số, không nên trích một tỷ lệ chính xác nếu không ghi rõ nguồn.
Tách từ và tách token khác nhau thế nào?
Tách từ chia câu theo đơn vị từ có nghĩa mà người bản ngữ công nhận, như “học sinh”. Tách token là cách một mô hình ngôn ngữ cắt chữ thành mảnh thống kê để xử lý, mảnh có thể nhỏ hơn âm tiết hoặc lớn hơn từ. Một bên phục vụ ngôn ngữ học và tìm kiếm, bên kia phục vụ việc tính toán bên trong mô hình.
Có nên nối các âm tiết bằng dấu gạch dưới như “học_sinh” không?
Đó là quy ước phổ biến trong các bộ công cụ xử lý tiếng Việt để đánh dấu kết quả tách từ, giúp các bước sau coi “học_sinh” là một đơn vị. Chỉ dùng khi mô hình hoặc hệ thống phía sau được thiết kế cho đầu vào như vậy; đưa văn bản có gạch dưới vào chatbot thông thường thường làm câu trả lời kém tự nhiên hơn.
Vì sao hai công cụ tách từ cho kết quả khác nhau mà đều đúng?
Vì mỗi công cụ học từ một bộ dữ liệu có hướng dẫn gán nhãn riêng. Với những cụm như “máy tính bảng” hay “bệnh viện đa khoa”, có người coi là một từ, có người coi là hai, ba từ. Khi so hai công cụ, cần biết chúng theo chuẩn nào, nếu không sẽ đếm cả những khác biệt về quy ước thành lỗi.
Tách từ có giúp chatbot trả lời tiếng Việt tốt hơn không?
Với các chatbot dùng mô hình lớn đa ngôn ngữ thì thường không: chúng được huấn luyện trên văn bản thô, nên đưa văn bản đã tách từ vào còn có thể làm lệch. Tách từ chỉ có ích rõ với các mô hình chuyên tiếng Việt yêu cầu đầu vào đã tách, và với hệ thống tìm kiếm hay phân tích từ khoá.
Văn bản không dấu có tách từ được không?
Được, nhưng khó hơn nhiều vì một chuỗi không dấu ứng với nhiều chuỗi có dấu khác nhau, kéo theo nhiều cách ghép từ. Cách thường làm là phục hồi dấu trước rồi mới tách từ, hoặc dùng công cụ được huấn luyện riêng trên văn bản không dấu. Kết quả vẫn kém hơn so với văn bản chuẩn có dấu.