NER چند زبانه: چالشها در تشخیص PII
بهروزرسانی شده برای 2026
شکاف دقت
مدلهای NER آموزشدیده روی انگلیسی در آزمونهای استاندارد به F1 85-92% میرسند. همین مدلها را روی متن عربی یا چینی اعمال کنید. دقت به 50-70% کاهش مییابد.
برای کار PII، این شکاف یک مشکل است. نرخ بازیابی 70% به معنای 30% از دادههای حساس نادیده گرفته میشوند.
علل اشکال نیستند. آنها از نحوه تفاوت سیستمهای نوشتاری ناشی میشوند.
چهار علت اصلی
1. مرزهای کلمه
انگلیسی کلمات را با فاصله جدا میکند. توکنسازی آسان است.
چینی هیچ فاصلهای ندارد.
"张伟住在北京"
→ ابتدا تقسیم کنید: ["张伟", "住在", "北京"]
یک مدل نمیتواند آنچه را که نمیتواند بیابد برچسبگذاری کند. تقسیم باید قبل از NER باشد.
عربی حروف را درون یک کلمه به هم متصل میکند. حرکتهای کوتاه حذف میشوند. متن از راست به چپ میرود.
"محمد يعيش في دبي"
→ بدون حرکت کوتاه، راست به چپ، حروف متصل
2. ریختشناسی
فعلهای انگلیسی به چند روش تغییر میکنند. عربی از سیستم ریشه استفاده میکند. یک ریشه دهها کلمه ایجاد میکند.
كتب (k-t-b، "نوشتن")
→ كاتب (نویسنده)، كتاب (کتاب)، مكتبة (کتابخانه)
NER باید ریشهها را برای یافتن نامها در اشکال مشتق تجزیه کند.
3. قراردادهای نامگذاری
نامهای لاتین ابتدا نام کوچک سپس نام خانوادگی میآیند. نامها در زبانهای RTL پیوندهای خانوادگی را زنجیر میکنند.
محمد بن عبد الله
(محمد پسر عبدالله)
نامهای چینی نام خانوادگی را اول میگذارند. اکثر نامها دو یا سه کاراکتر دارند.
张伟 (Zhang Wei) — 2 کاراکتر
欧阳修 (Ouyang Xiu) — 3 کاراکتر
مدلی که روی الگوهای نام غربی ساخته شده این ساختارها را از دست میدهد.
4. جهت متن
برخی زبانها از راست به چپ میروند. هنگامی که متن RTL یک نام انگلیسی دارد، ترتیب بصری و منطقی از هم جدا میشوند. به این BiDi متن میگویند. نیاز به تجزیه دقیق دارد.
امتیازات F1 بر اساس سیستم نوشتاری
| زبان | سیستم نوشتاری | محدوده F1 | سطح |
|---|---|---|---|
| انگلیسی | لاتین | 85–92% | پایین |
| آلمانی | لاتین | 82–88% | پایین |
| فرانسوی | لاتین | 80–87% | پایین |
| اسپانیایی | لاتین | 81–86% | پایین |
| روسی | سیریلیک | 75–83% | متوسط |
| عربی | ابجد | 55–75% | بالا |
| چینی | هانزی | 60–78% | بالا |
| ژاپنی | مختلط | 65–80% | بالا |
| تایلندی | تایلندی | 50–70% | خیلی بالا |
| هندی | دوناگری | 60–75% | بالا |
راهحل سه سطحی
ما از سه سطح برای پوشش 48 زبان و سیستم نوشتاری استفاده میکنیم.
سطح 1: spaCy — 25 زبان
برای زبانهایی با مدلهای قوی و آزمایش شده. این انگلیسی، آلمانی، فرانسوی، اسپانیایی، ایتالیایی، پرتغالی، هلندی، لهستانی، روسی و یونانی را پوشش میدهد.
سطح 2: Stanza — زبانهای پیچیده
Stanza استنفورد عربی، چینی، ژاپنی و کرهای را مدیریت میکند. قبل از NER تقسیم کلمات و تحلیل ریشه انجام میدهد.
سطح 3: XLM-RoBERTa — زبانهای کممنبع
برای زبانهایی که مدل اختصاصی ندارند. تایلندی، ویتنامی، هندی، بنگالی، عبری، ترکی و فارسی اینجا هستند. متن مختلط را بدون پرچمهای صریح مدیریت میکند.
RTL و BiDi
متن راست به چپ به مراحل اضافی فراتر از تقسیم نیاز دارد.
خط لوله ما:
- متن را به ترتیب منطقی نرمالسازی میکند.
- NER را روی آن ترتیب اجرا میکند.
- موقعیتهای موجودیت را به ترتیب بصری برمیگرداند.
ما پیشوندهای متصل را قبل از NER حذف میکنیم و بعد از آن اضافه میکنیم.
"محمد" — فقط نام
"لمحمد" — "برای محمد" (پیشوند روشن)
تغییر کد
اسناد واقعی اغلب زبانها را در یک خط مخلوط میکنند.
"El meeting con John es at 3pm"
"我今天跟John去shopping"
خط لوله ما بر اساس زبان تقسیم میکند. مدل مناسب را روی هر بخش اجرا میکند. سپس نتایج را با نگاشت موقعیت ادغام میکند.
معیارهای داخلی
نتایج از آزمونهای داخلی روی دادههای مختلط چند زبانه:
| سناریو | F1 |
|---|---|
| فقط انگلیسی | 91% |
| فقط آلمانی | 88% |
| فقط عربی | 79% |
| فقط چینی | 81% |
| مختلط انگلیسی-عربی | 83% |
| مختلط انگلیسی-چینی | 84% |
| مختلط انگلیسی-آلمانی | 89% |
یادداشتهای راهاندازی
برنامه دسکتاپ زبان را به طور خودکار بر اساس هر سند تشخیص میدهد. برای فایلهای مختلط چند زبانه، هر بخش را با مدل مناسب پردازش میکند. هیچ مرحله دستی لازم نیست.
زبان را در API تنظیم کنید وقتی میدانید:
{
"text": "محمد بن عبد الله",
"language": "ar"
}
از تشخیص خودکار استفاده کنید وقتی نمیدانید:
{
"text": "محمد بن عبد الله",
"language": "auto"
}
لیست کامل موجودیتها را ببینید. برای راهاندازی API، صفحه ویژگیهای API را بازدید کنید. راهنمای انطباق GDPR ما نشان میدهد چگونه شکافهای تشخیص بر قانون حفاظت از داده تأثیر میگذارند.
anonym.legal از یک پشته NER سه سطحی — spaCy، Stanza و XLM-RoBERTa — برای پوشش 48 زبان با تشخیص PII سازگار استفاده میکند.