VietASI.comVietASI
Nghiên cứu và cộng đồng AI Việt

Xử lý ngôn ngữ tự nhiên tiếng Việt đi từ đâu: các chặng từ bảng mã đến mô hình lớn

Xử lý tiếng Việt bằng máy đi qua năm chặng: bảng mã, công cụ nền, học máy thống kê, mô hình tiền huấn luyện, mô hình lớn. Mỗi chặng để lại gì cho hôm nay.

Wide shot of a quiet university library reading room in Hanoi, rows of wooden tables, a few students seen from behind working on laptops with blank screens, soft morning light

Xử lý ngôn ngữ tự nhiên tiếng Việt đi qua năm chặng nối nhau: chuẩn hoá bảng mã để máy lưu được chữ có dấu; làm công cụ nền như tách từ, gán nhãn từ loại, kho ngữ liệu; dùng học máy thống kê trên các kho đó; chuyển sang mô hình tiền huấn luyện kiểu BERT, trong đó có mô hình riêng cho tiếng Việt; và hiện nay là mô hình ngôn ngữ lớn đa ngôn ngữ. Mỗi chặng không xoá chặng trước mà để lại thứ vẫn dùng hằng ngày.

Bài này không cố liệt kê đủ mọi công trình, vì một danh sách như vậy dễ sai và dễ thiên vị nhóm này nhóm kia. Mục tiêu là cho bạn một khung thời gian đủ chắc để đọc tài liệu cũ không bị lạc, hiểu vì sao một số vấn đề cứ quay lại, và biết tra mốc chính xác ở đâu khi cần trích dẫn. Chỗ nào chỉ nhớ đại khái, bài ghi rõ là đại khái.

Chặng một: để máy giữ được chữ có dấu

Trước khi nói chuyện máy hiểu tiếng Việt, phải giải bài toán máy lưu được tiếng Việt. Chữ quốc ngữ có 12 chữ cái nguyên âm, trong đó có các chữ mang dấu phụ như ă, â, ê, ô, ơ, ư, lại chồng thêm năm dấu thanh, nên số ký tự có dấu vượt xa bảng mã 8 bit dành cho tiếng Anh. Suốt thập niên 1990, người dùng máy tính ở Việt Nam sống chung với nhiều bảng mã cùng lúc: bảng mã theo tiêu chuẩn TCVN 5712:1993 đi với bộ phông thường gọi là ABC, bảng mã VNI của một công ty phần mềm, và vài kiểu khác. Văn bản soạn bằng bảng mã này mở bằng phông của bảng mã kia là ra chữ loằng ngoằng.

Lối thoát là Unicode. Đầu những năm 2000, Việt Nam ban hành tiêu chuẩn TCVN 6909:2001 dựa trên bộ mã Unicode, và văn bản hành chính nhà nước dần được yêu cầu dùng phông Unicode. Từ đó, một chữ "Việt" về nguyên tắc có một cách lưu thống nhất. Nói "về nguyên tắc" vì Unicode lại cho phép hai cách biểu diễn: ký tự dựng sẵn và ký tự tổ hợp (chữ gốc cộng dấu rời). Chuyện máy tìm không ra chữ có dấu ngày nay phần lớn bắt nguồn từ đây; danh mục "Tiếng Việt khó với máy ở đâu" của trang có bài riêng về hiện tượng này.

Di sản của chặng một vẫn còn rất cụ thể: kho văn bản cũ trên mạng, tệp Word của cơ quan, sách số hoá đời đầu còn nằm ở bảng mã cũ. Bất kỳ ai làm dữ liệu tiếng Việt từ nguồn cũ đều phải có bước nhận diện và chuyển mã, nếu không mô hình sẽ học cả một lớp "ngôn ngữ" rác.

Chặng hai: công cụ nền và kho ngữ liệu

Khi máy đã lưu được chữ, việc tiếp theo là cắt câu thành đơn vị có nghĩa. Tiếng Việt viết cách theo âm tiết chứ không theo từ, nên "học sinh" là hai âm tiết nhưng một từ. Những công cụ đầu tiên được nhắc nhiều trong giới làm ngôn ngữ là bộ tách từ, bộ gán nhãn từ loại và bộ phân tích cú pháp, đi kèm các kho ngữ liệu có người gán nhãn bằng tay. Không có kho gán nhãn thì không có cách nào đo một công cụ tốt hay dở.

Mốc được nhắc đến nhiều nhất của giai đoạn này là một dự án khoa học cấp nhà nước, vào khoảng cuối thập niên 2000, mang tên viết tắt VLSP, nhằm làm một số sản phẩm thiết yếu về xử lý tiếng nói và văn bản tiếng Việt. Trong số sản phẩm thường được nhắc có kho ngữ liệu gán cấu trúc cú pháp (treebank) tiếng Việt, từ điển máy đọc được và các công cụ cơ bản. Về sau, cái tên VLSP được giữ lại cho chuỗi hội thảo và cuộc thi của cộng đồng, sẽ nói ở bài riêng.

Đóng góp lớn nhất của chặng này không phải độ chính xác của từng công cụ, vì độ chính xác ấy giờ đã bị vượt xa. Đóng góp là quy ước: thế nào là một từ, nhãn từ loại gồm những loại nào, câu phân tích ra sao. Các quy ước này quyết định cách người ta gán nhãn dữ liệu suốt nhiều năm sau, và cũng là nguồn gốc của nhiều tranh luận còn dai dẳng, chẳng hạn "hoa hồng" nên là một từ hay hai, hay từ láy xử lý thế nào.

Chặng ba: học máy thống kê và các cuộc thi chung

Khoảng đầu và giữa thập niên 2010, cách làm phổ biến là học máy thống kê: trích đặc trưng bằng tay (âm tiết hiện tại, âm tiết trước, có viết hoa không, có trong từ điển không) rồi đưa vào các mô hình như trường ngẫu nhiên có điều kiện hay máy vectơ hỗ trợ. Cùng lúc, kỹ thuật biểu diễn từ bằng vectơ học từ văn bản lớn lan rộng sau khi các phương pháp như word2vec được công bố năm 2013, và nhiều nhóm trong nước huấn luyện bộ vectơ riêng cho tiếng Việt.

Điểm đáng ghi nhận về mặt cộng đồng là sự xuất hiện của các nhiệm vụ chia sẻ: ban tổ chức phát cùng một bộ dữ liệu, cùng một cách chấm, các đội thi đua trên cùng điều kiện. Những bài toán như nhận dạng thực thể có tên (tên người, tổ chức, địa điểm), phân tích cảm xúc bình luận, phân loại văn bản lần đầu có số đo so được với nhau. Trước đó, mỗi bài báo tự dùng một bộ dữ liệu riêng, và hai con số "92%" của hai nhóm thường không nói lên điều gì khi đặt cạnh nhau.

Bộ công cụ mã nguồn mở cũng nhiều lên ở giai đoạn này. Một ví dụ hay gặp trong tài liệu là VnCoreNLP, bộ công cụ gom tách từ, gán nhãn từ loại, nhận dạng thực thể và phân tích phụ thuộc, công bố khoảng năm 2018. Ngoài ra còn các thư viện Python do cộng đồng duy trì như underthesea. Bài không so sánh công cụ nào tốt hơn, vì kết quả phụ thuộc dữ liệu bạn dùng; điều đáng nói là từ đây người mới vào nghề có thể chạy được một chuỗi xử lý tiếng Việt trong một buổi chiều.

Chặng bốn: mô hình tiền huấn luyện, có cả mô hình riêng tiếng Việt

Năm 2018, kiến trúc transformer và mô hình BERT làm thay đổi cách làm của cả ngành: thay vì thiết kế đặc trưng, người ta tiền huấn luyện một mô hình trên rất nhiều văn bản thô rồi tinh chỉnh cho từng việc. Các mô hình đa ngôn ngữ như BERT đa ngôn ngữ hay XLM-R có học cả tiếng Việt, nhưng phần tiếng Việt chỉ chiếm một lát nhỏ trong dữ liệu và bộ từ vựng.

Từ đó xuất hiện hướng làm mô hình riêng cho tiếng Việt. Ví dụ được trích nhiều là PhoBERT, công bố năm 2020, tiền huấn luyện trên văn bản tiếng Việt đã tách từ. Danh mục "Mô hình ngôn ngữ tiếng Việt" của trang có bài riêng giải thích vì sao mô hình loại này vẫn còn được dùng cho phân loại, trích xuất thông tin dù đã có mô hình lớn. Ở góc lịch sử, ý nghĩa của nó nằm ở chỗ: lần đầu cộng đồng có một mô hình nền tiếng Việt công khai, ai cũng tải về tinh chỉnh được, nên hàng loạt bài báo và sản phẩm nhỏ dựa trên cùng một điểm xuất phát.

Song song là mảng tiếng nói. Nhận dạng và tổng hợp giọng nói tiếng Việt chuyển từ các mô hình thống kê sang mạng nơ-ron cùng thời gian đó, và bắt đầu có kho ghi âm mở do trường đại học hay cộng đồng góp, trong đó có phần tiếng Việt của dự án Common Voice. Thiếu dữ liệu giọng nói có giấy phép rõ ràng vẫn là nút thắt của mảng này cho tới nay.

Chặng năm: mô hình ngôn ngữ lớn và vai trò mới của cộng đồng

Từ khoảng cuối năm 2022, các chatbot dựa trên mô hình ngôn ngữ lớn đến tay người dùng phổ thông, và đa số trả lời được bằng tiếng Việt khá trôi chảy. Với giới làm xử lý tiếng Việt, đây là thay đổi về vai trò hơn là về kỹ thuật. Rất ít nhóm trong nước đủ dữ liệu và tài nguyên tính toán để huấn luyện một mô hình lớn từ đầu; phần đông chuyển sang tiếp tục huấn luyện hoặc tinh chỉnh mô hình mở có sẵn trên dữ liệu tiếng Việt, làm bộ đánh giá tiếng Việt, làm dữ liệu chỉ dẫn, và kiểm lỗi của mô hình với kiến thức về Việt Nam.

Việc đánh giá trở thành phần đóng góp có giá trị nhất mà cộng đồng một ngôn ngữ có thể làm. Một mô hình huấn luyện ở nước ngoài không tự biết nó sai địa danh sau sắp xếp hành chính năm 2025, nhầm xưng hô, hay dịch văn bản hành chính lệch giọng. Người bản ngữ, có tri thức địa phương, viết bộ câu thử và chấm kết quả là việc không ai làm thay được. Danh mục "Đánh giá chất lượng AI với tiếng Việt" của trang đi sâu phần này.

Mặt khác, mô hình lớn cũng khiến một số bài toán cũ có vẻ "đã xong" trong khi thực ra chỉ đổi dạng. Tách từ ít được bàn hơn, nhưng cách bộ tách token chia chữ Việt có dấu lại thành vấn đề chi phí và độ dài ngữ cảnh. Phục hồi dấu tưởng đã giải quyết, nhưng văn bản không dấu trên mạng xã hội vẫn làm mô hình đoán sai nghĩa.

Những điều lịch sử này dạy cho người mới vào nghề

Nhìn lại cả năm chặng, có vài bài học lặp đi lặp lại mà người làm AI tiếng Việt hôm nay nên mang theo.

  • Dữ liệu có giấy phép rõ ràng sống lâu hơn mô hình. Mô hình của năm năm trước giờ ít ai dùng, nhưng kho ngữ liệu gán nhãn tốt, có tài liệu đầy đủ, vẫn được trích dẫn và dùng làm tập kiểm tra.
  • Quy ước gán nhãn quyết định kết quả. Hai công cụ tách từ "chênh nhau ba điểm" có thể chỉ là hai cách hiểu khác nhau về thế nào là một từ. Đọc kỹ quy ước trước khi so sánh.
  • Vấn đề cũ quay lại dưới dạng mới. Bảng mã, dấu, tách đơn vị, xưng hô: đời công nghệ nào cũng gặp lại, chỉ khác tên gọi.
  • Cuộc thi chung tạo ra mặt bằng so sánh. Không có tập dữ liệu chung và cách chấm chung, cộng đồng không biết mình đang tiến hay đứng yên.
  • Đóng góp của người bản ngữ không bị thay thế. Dù mô hình lớn ở đâu ra, việc kiểm nó với tiếng Việt thật vẫn cần người hiểu tiếng Việt.

Khi cần mốc chính xác (năm công bố, tên tác giả, tên hội nghị), hãy tra bài báo gốc trên kho lưu trữ công khai thay vì dựa vào bài tổng quan hay câu trả lời của chatbot. Chatbot thường gán nhầm năm hoặc ghép tên công trình này với nhóm khác, nhất là với tài liệu tiếng Việt ít được số hoá.

Câu hỏi thường gặp

Tiếng Việt có phải ngôn ngữ ít tài nguyên không?

Câu trả lời tuỳ mảng. Với văn bản thô, tiếng Việt có khá nhiều trên mạng so với phần lớn ngôn ngữ trên thế giới. Nhưng với dữ liệu gán nhãn chất lượng cao, giọng nói có giấy phép, văn bản chuyên ngành và phương ngữ, tiếng Việt vẫn thiếu, nên nhiều nhà nghiên cứu xếp vào nhóm tài nguyên trung bình.

Vì sao lại cần mô hình riêng tiếng Việt khi mô hình đa ngôn ngữ đã biết tiếng Việt?

Mô hình đa ngôn ngữ chia sẻ bộ từ vựng và dung lượng cho hàng trăm ngôn ngữ, nên phần tiếng Việt thường bị chia token vụn và học ít hơn. Mô hình riêng có thể nhỏ hơn mà vẫn làm tốt các việc hẹp như phân loại, trích xuất. Còn với hội thoại mở, mô hình lớn đa ngôn ngữ thường có lợi thế.

Muốn đọc lịch sử chi tiết thì bắt đầu từ đâu?

Cách chắc chắn là đọc các bài tổng quan về xử lý tiếng Việt trên kho bài báo công khai của ngành ngôn ngữ học máy tính, sau đó lần ngược tài liệu tham khảo. Kỷ yếu các kỳ hội thảo VLSP và các luận án tiến sĩ về xử lý tiếng Việt cũng thường có phần tổng quan khá đầy đủ.

Có phải trước mô hình lớn, AI tiếng Việt gần như không làm được gì?

Không đúng. Từ trước đó đã có bộ gõ, kiểm lỗi chính tả, công cụ tìm kiếm, nhận dạng giọng nói trong tổng đài, OCR chữ in, dịch máy dùng được cho nhiều việc. Mô hình lớn làm trải nghiệm hội thoại tốt lên rất nhiều, nhưng nó đứng trên nền tảng dữ liệu và công cụ của hai thập niên trước.

Mảng tiếng nói và mảng văn bản có đi cùng nhau không?

Hai mảng có cộng đồng giao nhau nhưng nhịp độ khác nhau. Mảng tiếng nói cần dữ liệu ghi âm, tốn kém và vướng quyền riêng tư hơn, nên kho mở ít hơn. Gần đây hai mảng xích lại vì các mô hình đa phương thức xử lý cả giọng lẫn chữ trong cùng một hệ.

Có nên trích ngày tháng trong bài này cho luận văn không?

Nên dùng bài này để định hướng, còn khi trích thì tra lại công trình gốc. Một số mốc ở đây cố ý ghi đại khái, như cuối thập niên 2000, vì các nguồn công khai ghi khác nhau về thời điểm bắt đầu và kết thúc dự án. Luận văn cần mốc có nguồn kiểm được.

Cần tư vấn cụ thể cho trường hợp của bạn?

Chúng tôi sẽ liên hệ trong vòng 24 giờ.

Đăng ký tư vấn ngay

Bài viết liên quan

Bạn cần hỗ trợ thêm?

Để lại thông tin, chúng tôi sẽ liên hệ trong 24 giờ.

hoặc
Gọi ngay 0926 138 138