کثیر لسانی NER: PII ڈٹیکشن میں چیلنجز
2026 کے لیے اپ ڈیٹ کیا گیا
درستگی کا خلا
انگریزی پر تربیت یافتہ NER ماڈلز معیاری ٹیسٹس میں 85–92% F1 حاصل کرتے ہیں۔ وہی ماڈلز عربی یا چینی متن پر لگائیں۔ درستگی 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 — پیچیدہ زبانیں
Stanford 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% |
سیٹ اپ نوٹس
Desktop App ہر دستاویز کے لیے خودکار طور پر زبان ڈٹیکٹ کرتا ہے۔ مخلوط زبان فائلوں کے لیے، یہ ہر حصے کو صحیح ماڈل سے پروسیس کرتا ہے۔ کوئی دستی مرحلہ نہیں چاہیے۔
جب آپ جانتے ہوں تو API میں زبان سیٹ کریں:
```json { "text": "محمد بن عبد الله", "language": "ar" } ```
جب نہ جانتے ہوں تو خودکار ڈٹیکشن استعمال کریں:
```json { "text": "محمد بن عبد الله", "language": "auto" } ```
حسب ضرورت پیٹرنز کو مقامی مخصوص ہندسوں کا احاطہ کرنا چاہیے:
```
لاطینی ملازم ID
EMP-[0-9]{6}
عربی ملازم ID (عربی-ہندی ہندسوں سمیت)
موظف-[٠-٩0-9]{6} ```
مکمل اکائی فہرست دیکھیں۔ API سیٹ اپ کے لیے، API فیچرز صفحہ ملاحظہ کریں۔ ہماری GDPR تعمیل گائیڈ میں احاطہ کرتا ہے کہ ڈٹیکشن خلاء ڈیٹا تحفظ قانون کو کیسے متاثر کرتے ہیں۔
anonym.legal ایک تین سطحی NER اسٹیک — spaCy، Stanza اور XLM-RoBERTa — استعمال کرتا ہے تاکہ مستقل PII ڈٹیکشن کے ساتھ 48 زبانوں کا احاطہ کرے۔