NER đa ngôn ngữ: Thách thức trong phát hiện PII
Cập nhật cho năm 2026
Khoảng cách độ chính xác
Các mô hình NER được đào tạo trên tiếng Anh đạt F1 85–92% trên các bài kiểm tra tiêu chuẩn. Áp dụng chính xác những mô hình đó cho văn bản tiếng Ả Rập hoặc tiếng Trung. Độ chính xác giảm xuống 50–70%.
Đối với công việc PII, khoảng cách đó là vấn đề. Tỷ lệ nhận diện 70% nghĩa là 30% dữ liệu nhạy cảm không được phát hiện.
Nguyên nhân không phải là lỗi. Chúng xuất phát từ sự khác biệt trong hệ thống chữ viết.
Bốn nguyên nhân gốc rễ
1. Ranh giới từ
Tiếng Anh tách từ bằng dấu cách. Việc token hóa rất dễ dàng.
Tiếng Trung không có dấu cách nào cả.
"张伟住在北京"
→ Tách trước: ["张伟", "住在", "北京"]
Một mô hình không thể gán nhãn những gì nó không thể tìm thấy. Việc tách phải đến trước NER.
Tiếng Ả Rập liên kết các chữ cái trong một từ. Nguyên âm ngắn bị bỏ qua. Văn bản chạy từ phải sang trái.
"محمد يعيش في دبي"
→ Không có nguyên âm ngắn, phải sang trái, chữ cái liên kết
2. Hình thái học
Động từ tiếng Anh thay đổi theo vài cách. Tiếng Ả Rập sử dụng hệ thống gốc từ. Một gốc từ tạo ra hàng chục từ.
كتب (k-t-b, "viết")
→ كاتب (người viết), كتاب (sách), مكتبة (thư viện)
NER phải phân tích gốc từ để tìm tên trong các dạng từ phái sinh.
3. Quy ước đặt tên
Tên Latin đi Họ rồi Tên. Tên trong các ngôn ngữ RTL kết nối các liên kết gia đình.
محمد بن عبد الله
(Muhammad con trai của Abdullah)
Tên tiếng Trung đặt họ lên đầu. Hầu hết tên có hai hoặc ba ký tự.
张伟 (Zhang Wei) — 2 ký tự
欧阳修 (Ouyang Xiu) — 3 ký tự
Một mô hình được xây dựng trên các mẫu tên phương Tây sẽ bỏ sót những cấu trúc này.
4. Hướng văn bản
Một số ngôn ngữ chạy từ phải sang trái. Khi văn bản RTL chứa tên tiếng Anh, thứ tự thị giác và thứ tự logic tách nhau. Điều này được gọi là văn bản BiDi. Nó đòi hỏi phân tích cú pháp cẩn thận.
Điểm F1 theo hệ thống chữ viết
| Ngôn ngữ | Hệ thống chữ viết | Phạm vi F1 | Mức độ |
|---|---|---|---|
| Tiếng Anh | Latin | 85–92% | Thấp |
| Tiếng Đức | Latin | 82–88% | Thấp |
| Tiếng Pháp | Latin | 80–87% | Thấp |
| Tiếng Tây Ban Nha | Latin | 81–86% | Thấp |
| Tiếng Nga | Cyrillic | 75–83% | Trung bình |
| Tiếng Ả Rập | Abjad | 55–75% | Cao |
| Tiếng Trung | Hanzi | 60–78% | Cao |
| Tiếng Nhật | Hỗn hợp | 65–80% | Cao |
| Tiếng Thái | Thai | 50–70% | Rất cao |
| Tiếng Hindi | Devanagari | 60–75% | Cao |
Hệ thống không phải Latin và thiếu ranh giới từ làm giảm điểm trên diện rộng.
Giải pháp ba tầng
Chúng tôi sử dụng ba tầng để bao phủ 48 ngôn ngữ và hệ thống chữ viết.
Tầng 1: spaCy — 25 ngôn ngữ
Dành cho các ngôn ngữ có mô hình mạnh, đã được kiểm thử. Bao gồm tiếng Anh, Đức, Pháp, Tây Ban Nha, Ý, Bồ Đào Nha, Hà Lan, Ba Lan, Nga và Hy Lạp.
Tầng 2: Stanza — Ngôn ngữ phức tạp
Stanza của Stanford xử lý tiếng Ả Rập, Trung, Nhật và Hàn. Nó chạy tách từ và phân tích gốc từ trước NER.
Tầng 3: XLM-RoBERTa — Ngôn ngữ ít tài nguyên
Dành cho các ngôn ngữ không có mô hình chuyên dụng. Tiếng Thái, Việt, Hindi, Bengali, Hebrew, Thổ Nhĩ Kỳ và Farsi thuộc nhóm này. Nó xử lý văn bản đa ngôn ngữ mà không cần gắn cờ rõ ràng.
RTL và BiDi
Văn bản từ phải sang trái cần các bước bổ sung ngoài việc tách từ.
Quy trình của chúng tôi:
- Chuẩn hóa văn bản về thứ tự logic.
- Chạy NER trên thứ tự đó.
- Ánh xạ vị trí thực thể trở lại thứ tự thị giác.
Chúng tôi loại bỏ tiền tố đính kèm trước NER và thêm lại sau.
"محمد" — chỉ tên
"لمحمد" — "tới Muhammad" (có tiền tố)
Chuyển đổi ngôn ngữ
Tài liệu thực tế thường pha trộn ngôn ngữ trên một dòng.
"El meeting con John es at 3pm"
"我今天跟John去shopping"
Quy trình của chúng tôi tách theo ngôn ngữ. Nó chạy mô hình phù hợp trên từng phần. Sau đó kết hợp kết quả với ánh xạ vị trí.
Điểm chuẩn nội bộ
Kết quả từ các bài kiểm tra nội bộ trên dữ liệu đa ngôn ngữ:
| Kịch bản | F1 |
|---|---|
| Chỉ tiếng Anh | 91% |
| Chỉ tiếng Đức | 88% |
| Chỉ tiếng Ả Rập | 79% |
| Chỉ tiếng Trung | 81% |
| Tiếng Anh-Ả Rập hỗn hợp | 83% |
| Tiếng Anh-Trung hỗn hợp | 84% |
| Tiếng Anh-Đức hỗn hợp | 89% |
Ghi chú thiết lập
Ứng dụng desktop tự động phát hiện ngôn ngữ theo tài liệu. Đối với tệp đa ngôn ngữ, nó xử lý từng đoạn với mô hình phù hợp. Không cần bước thủ công.
Đặt ngôn ngữ trong API khi bạn biết:
{
"text": "محمد بن عبد الله",
"language": "ar"
}
Sử dụng tự động phát hiện khi bạn không biết:
{
"text": "محمد بن عبد الله",
"language": "auto"
}
Các mẫu tùy chỉnh nên bao phủ chữ số theo vùng:
# ID nhân viên Latin
EMP-[0-9]{6}
# ID nhân viên Ả Rập (bao gồm chữ số Ả Rập-Ấn)
موظف-[٠-٩0-9]{6}
Xem danh sách thực thể đầy đủ. Để thiết lập API, truy cập trang tính năng API. Hướng dẫn tuân thủ GDPR của chúng tôi bao gồm cách khoảng cách phát hiện ảnh hưởng đến luật bảo vệ dữ liệu.
anonym.legal sử dụng bộ NER ba tầng — spaCy, Stanza và XLM-RoBERTa — để bao phủ 48 ngôn ngữ với tính năng phát hiện PII nhất quán.