Văn bản mạng xã hội tiếng Việt đầy viết tắt (“ko”, “đc”, “j”, “mn”), chữ biến tấu, chữ kéo dài (“đẹpppp”), emoji và tiếng lóng thay đổi theo mùa, nên máy học trên báo chí đọc nó rất kém. Cách xử lý phổ biến là chuẩn hoá văn bản: đưa các dạng viết không chuẩn về dạng chuẩn trước khi phân tích. Nghe đơn giản, nhưng nhiều chữ viết tắt mang hai, ba nghĩa tuỳ ngữ cảnh: “ck” có thể là “chồng” hoặc “chuyển khoản”, “k” có thể là “không” hoặc “nghìn” trong “50k”.
Mô hình ngôn ngữ lớn hiện nay đọc văn bản mạng tốt hơn nhiều so với các hệ thống cũ, nhưng vẫn hụt với tiếng lóng mới, viết tắt địa phương và chữ biến tấu để né bộ lọc. Bài này giải thích văn bản mạng khác văn bản chuẩn ở đâu, những chỗ nhập nhằng điển hình, khi nào nên và không nên chuẩn hoá, kèm quy trình cho một dự án phân tích bình luận khách hàng.
Văn bản mạng tiếng Việt khác văn bản chuẩn ở những điểm nào
Nhìn từ góc độ máy, văn bản bình luận, tin nhắn, bài đăng mạng xã hội có ít nhất sáu đặc điểm mà văn bản báo chí, sách vở không có hoặc rất hiếm.
- Viết tắt theo phụ âm. Giữ phụ âm, bỏ vần: “ko”, “k” (không), “đc” (được), “mn” (mọi người), “trc” (trước), “ns” (nói), “bt” (bình thường hoặc biết).
- Viết tắt theo âm. Thay chữ bằng chữ đọc gần giống: “j” cho “gì”, “z” hoặc “v” cho “vậy”, “bít” cho “biết”, “hok” cho “không”.
- Viết tắt quan hệ và đời sống. “ny” (người yêu), “ck” và “vk” (chồng, vợ), “ib” (nhắn riêng, từ inbox), “sp” (sản phẩm), “ad” (người quản trị trang).
- Chữ kéo dài và in hoa cảm xúc. “Ngon quáaaaa”, “ĐẸP”, lặp dấu chấm than. Đây là tín hiệu cảm xúc quan trọng nhưng làm bộ tách token và từ điển lúng túng.
- Không dấu, nửa dấu, sai chính tả. Gõ vội trên điện thoại, cố tình viết sai để vui, hoặc viết sai do thói quen phát âm vùng miền.
- Trộn emoji, tiếng Anh và ký hiệu. Một bình luận có thể chỉ gồm emoji, hoặc trộn “ship nhanh, sp ok nha shop” trong một câu ngắn.
Kiểu chữ biến tấu nặng mà giới trẻ một thời gọi là teencode, như thay “ph” bằng “f” hay viết lẫn số vào chữ, nay ít gặp hơn trước, nhưng dấu vết của nó vẫn còn trong dữ liệu cũ và trong một số cộng đồng. Một bộ dữ liệu bình luận thu thập qua nhiều năm sẽ chứa cả những lớp văn phong như vậy.
Viết tắt nhập nhằng: một chuỗi, nhiều nghĩa
Chuẩn hoá bằng bảng tra cố định gặp vấn đề ngay khi một chữ viết tắt có nhiều nghĩa. Bảng dưới là các ví dụ thường gặp; nghĩa đúng phụ thuộc ngữ cảnh.
| Viết tắt | Các nghĩa có thể | Ngữ cảnh giúp phân biệt |
|---|---|---|
| k | không; nghìn (đơn vị tiền) | Đứng sau số (“50k”) là nghìn; đứng trước động từ là không |
| ck | chồng; chuyển khoản | Đi với “vk”, “con” là chồng; đi với “stk”, “tiền”, “đơn” là chuyển khoản |
| bt | bình thường; biết | “sp bt” là bình thường; “ko bt” là không biết |
| sp | sản phẩm; hỗ trợ (support) | Bình luận mua hàng thường là sản phẩm; nhắn quản trị trang có thể là hỗ trợ |
| dc / đc | được; địa chỉ | “đc ko” là được không; “cho xin dc” có thể là địa chỉ |
| ok | đồng ý; tạm được (đánh giá trung bình) | “ok shop” là đồng ý; “sp ok” trong đánh giá có thể chỉ là tạm được |
Dòng cuối đáng chú ý: “ok” không chỉ là chuyện chuẩn hoá chữ mà còn là chuyện mức độ. Một hệ thống phân tích cảm xúc coi “ok” là khen sẽ đánh giá quá cao mức hài lòng của khách. Bảng tra không giải được những sắc thái như vậy; cần mô hình hiểu ngữ cảnh hoặc người gán nhãn quen văn phong.
Chuẩn hoá văn bản là gì và làm theo những cách nào
Chuẩn hoá văn bản (text normalization) là bước đưa các dạng viết không chuẩn về dạng chuẩn để các bước sau xử lý được: “ko đc” thành “không được”, “đẹpppp” thành “đẹp” (có thể kèm một dấu hiệu nhấn mạnh), “50k” thành “50 nghìn”. Trong xử lý tiếng Việt, bước này thường đi cùng chuẩn hoá Unicode, phục hồi dấu và tách từ.
Cách đơn giản nhất là từ điển viết tắt: một danh sách cặp “dạng viết tắt – dạng chuẩn”. Cách này dễ làm, dễ kiểm, nhưng gặp ngay ba vấn đề: viết tắt nhập nhằng như bảng trên, viết tắt mới xuất hiện liên tục, và cùng một dạng có thể là viết tắt hoặc là một từ thật (“bt” trong văn bản kỹ thuật có thể là tên viết tắt của một thứ khác hẳn).
Cách tiếp theo là mô hình học máy: coi chuẩn hoá như bài toán dịch từ “tiếng Việt mạng” sang “tiếng Việt chuẩn”, huấn luyện trên các cặp câu do người gán. Cách này dùng được ngữ cảnh, nhưng cần dữ liệu cặp, mà dữ liệu cặp cho văn bản mạng tiếng Việt không nhiều và nhanh lỗi thời.
Cách mới nhất là bỏ qua bước chuẩn hoá riêng, đưa thẳng văn bản thô vào mô hình ngôn ngữ lớn và để nó hiểu. Mô hình lớn đã gặp nhiều văn bản mạng trong dữ liệu nên đọc được phần lớn viết tắt thông dụng. Tuy vậy, với tiếng lóng mới hơn thời điểm thu thập dữ liệu của mô hình, hoặc viết tắt riêng của một nhóm khách hàng, mô hình có thể đoán sai mà không báo. Trong thực tế, nhiều dự án kết hợp: từ điển viết tắt riêng của doanh nghiệp được đưa vào câu lệnh như phần chú giải, rồi để mô hình lớn xử lý.
Tiếng lóng thay đổi nhanh: dữ liệu và mô hình luôn đi sau
Tiếng lóng mạng là phần biến động nhanh nhất của ngôn ngữ. Một cụm từ có thể nổi lên trong vài tuần, được dùng dày đặc trong vài tháng rồi chìm, hoặc đổi nghĩa từ khen sang mỉa. Mô hình ngôn ngữ được huấn luyện trên dữ liệu đến một thời điểm nhất định, nên luôn có một khoảng trống giữa tiếng lóng nó biết và tiếng lóng đang dùng.
Khoảng trống này nguy hiểm theo hai kiểu. Kiểu thứ nhất là không hiểu: mô hình gặp từ lạ và bỏ qua, làm mất thông tin. Kiểu thứ hai tệ hơn: mô hình gặp từ trông quen và gán nghĩa cũ, trong khi nghĩa đã đổi. Một từ từng dùng để khen nay được dùng mỉa mai sẽ bị phân loại ngược.
Vùng miền cũng tạo ra khác biệt: cách viết tắt, cách nói lóng ở các nhóm người dùng khác nhau không giống nhau, và dữ liệu huấn luyện thường nghiêng về nhóm đông người viết nhất trên mạng. Một hệ thống phân tích bình luận có thể đọc tốt bình luận của nhóm này mà đọc kém nhóm khác, tạo ra thiên lệch trong báo cáo mà người dùng báo cáo không biết.
Còn một mặt nữa cần biết: chữ biến tấu được dùng có chủ đích để né bộ lọc nội dung, chẳng hạn chèn ký tự, thay chữ bằng số, tách chữ bằng dấu chấm. Hệ thống kiểm duyệt nội dung tiếng Việt vì thế phải cập nhật liên tục. Đây là cuộc đuổi bắt không có điểm dừng, và là lý do kiểm duyệt tự động luôn cần người xem lại những trường hợp ranh giới.
Quy trình xử lý bình luận khách hàng tiếng Việt
Ví dụ giả định: một cửa hàng trực tuyến có vài nghìn bình luận mỗi tháng, muốn dùng AI phân loại khen, chê, hỏi và gom các vấn đề hay gặp. Quy trình gợi ý gồm các bước sau.
- Xuất bình luận kèm thời gian, sản phẩm; bỏ hoặc che tên tài khoản, số điện thoại, địa chỉ mà khách lỡ ghi trong bình luận trước khi đưa vào công cụ.
- Chuẩn hoá Unicode và loại bình luận rác (quảng cáo, chuỗi ký tự vô nghĩa). Giữ nguyên bản gốc ở một cột riêng.
- Lấy ngẫu nhiên khoảng 200 bình luận, đọc và lập từ điển viết tắt, tiếng lóng riêng của khách hàng mình, ghi rõ chữ nào nhập nhằng và nghĩa theo ngữ cảnh.
- Viết câu lệnh cho mô hình kèm từ điển đó, ví dụ: “Phân loại mỗi bình luận dưới đây thành khen, chê, hỏi hoặc khác. Lưu ý các viết tắt: ck có thể là chồng hoặc chuyển khoản tuỳ ngữ cảnh; ok trong đánh giá sản phẩm có thể chỉ là tạm được. Nếu không chắc, ghi không chắc và nêu lý do ngắn.”
- Cho người đọc so với kết quả máy trên một mẫu mới khoảng 100 bình luận; đếm tỷ lệ sai, xem sai tập trung ở loại nào (mỉa mai, viết tắt lạ, bình luận chỉ có emoji).
- Chạy toàn bộ, nhưng đưa các bình luận “không chắc” cho người xem. Cập nhật từ điển viết tắt mỗi tháng hoặc mỗi khi thấy tỷ lệ “không chắc” tăng.
Điểm mấu chốt là từ điển riêng và vòng kiểm định kỳ. Một quy trình chạy tốt hôm nay có thể kém đi sau vài tháng chỉ vì khách bắt đầu dùng một cách viết mới.
Khi nào không nên chuẩn hoá
Chuẩn hoá là công cụ, không phải mục tiêu. Có những việc mà chính cách viết không chuẩn mang thông tin cần giữ. Nghiên cứu ngôn ngữ mạng, phân tích văn phong, theo dõi tiếng lóng mới đều cần văn bản nguyên gốc. Chuẩn hoá đi là xoá mất đối tượng nghiên cứu.
Trong phân tích cảm xúc, chữ kéo dài, chữ in hoa, chuỗi dấu chấm than là tín hiệu cường độ. “Ngon” và “NGONNNNN” khác nhau về mức độ. Nếu chuẩn hoá cả hai về “ngon” mà không lưu lại dấu hiệu nhấn mạnh, báo cáo mất một lớp thông tin. Cách làm tốt là chuẩn hoá chữ nhưng thêm một trường ghi nhận mức nhấn.
Với hồ sơ có giá trị pháp lý hay chứng cứ, như tin nhắn trong một khiếu nại, tuyệt đối giữ nguyên bản gốc. Bản chuẩn hoá chỉ là bản làm việc để đọc và phân tích, luôn đánh dấu rõ là bản đã qua xử lý.
Một trường hợp nữa là khi kết quả sẽ được trích lại nguyên văn, như dẫn lời khách trong báo cáo cho ban giám đốc hay trong tài liệu đào tạo nhân viên chăm sóc khách hàng. Trích bản đã chuẩn hoá mà không ghi chú là làm sai lời khách. Nên trích nguyên văn, nếu cần thì thêm phần giải nghĩa viết tắt trong ngoặc để người đọc hiểu.
Cuối cùng, khi dùng mô hình ngôn ngữ lớn, chuẩn hoá trước bằng bảng tra cứng đôi khi còn làm hại: bảng tra đổi “ck” thành “chồng” ở mọi chỗ, xoá mất khả năng mô hình tự hiểu đó là “chuyển khoản” theo ngữ cảnh. Với mô hình lớn, đưa từ điển như phần chú giải và để mô hình quyết định thường cho kết quả tốt hơn là thay chữ trước.
Câu hỏi thường gặp
AI có đọc được bình luận không dấu và viết tắt không?
Phần lớn mô hình ngôn ngữ lớn hiện nay đọc được viết tắt thông dụng và văn bản không dấu ở mức khá. Chúng vẫn hay sai với tiếng lóng mới, viết tắt riêng của một nhóm người dùng, câu rất ngắn và câu mỉa mai. Nên kiểm trên mẫu bình luận thật của mình trước khi tin con số tổng hợp.
Có bộ từ điển viết tắt tiếng Việt dùng chung không?
Có một số danh sách do cộng đồng và các dự án nghiên cứu chia sẻ, nhưng chất lượng và độ cập nhật khác nhau, và viết tắt thay đổi theo thời gian, theo nhóm khách hàng. Cách hiệu quả nhất vẫn là bắt đầu từ một danh sách chung rồi bổ sung từ chính dữ liệu của mình, cập nhật định kỳ.
Vì sao chữ “ok” lại gây sai lệch trong phân tích cảm xúc?
Vì “ok” mang nhiều mức: đồng ý trong hội thoại, khen nhẹ, hoặc chỉ là tạm được trong đánh giá sản phẩm. Hệ thống coi “ok” luôn là khen sẽ thổi phồng mức hài lòng. Cần xét ngữ cảnh, ví dụ “sp ok” đi kèm số sao thấp thì gần với trung bình hơn là khen.
Chuẩn hoá có làm mất thông tin cảm xúc không?
Có nếu làm không khéo. Chữ kéo dài, chữ in hoa, dấu chấm than lặp lại là tín hiệu cường độ cảm xúc. Nên chuẩn hoá chữ để máy hiểu nghĩa, đồng thời ghi lại các dấu hiệu nhấn mạnh vào một trường riêng, để báo cáo phân biệt được khen nhẹ và khen nhiệt tình.
Đưa bình luận khách hàng lên chatbot để phân tích có rủi ro gì?
Bình luận có thể chứa tên, số điện thoại, địa chỉ, mã đơn hàng mà khách lỡ ghi. Trước khi đưa lên công cụ trực tuyến, cần che các thông tin này và kiểm điều khoản sử dụng dữ liệu của công cụ. Với dữ liệu khối lượng lớn hay nhạy cảm, nên cân nhắc giải pháp chạy nội bộ.
Kiểm duyệt nội dung tiếng Việt bằng AI có bắt được chữ biến tấu không?
Bắt được phần lớn kiểu biến tấu phổ biến, nhưng người muốn né bộ lọc luôn tạo ra kiểu mới. Vì vậy kiểm duyệt tự động cần được cập nhật thường xuyên và luôn có người xem lại các trường hợp ranh giới. Không nên để máy tự quyết xoá hay khoá tài khoản ở những trường hợp không rõ ràng.