बहुभाषी 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 में सेट करें:
{
"text": "محمد بن عبد الله",
"language": "ar"
}
जब नहीं पता तो स्वतः-पहचान इस्तेमाल करें:
{
"text": "محمد بن عبد الله",
"language": "auto"
}
कस्टम पैटर्न में स्थानीय अंकों को शामिल करें:
# लैटिन कर्मचारी ID
EMP-[0-9]{6}
# अरबी कर्मचारी ID (अरबी-इंडिक अंकों सहित)
موظف-[٠-٩0-9]{6}
पूर्ण एंटिटी सूची देखें। API सेटअप के लिए API features page पर जाएं। हमारा GDPR compliance guide बताता है कि डिटेक्शन की कमियाँ डेटा सुरक्षा कानून को कैसे प्रभावित करती हैं।
anonym.legal एक तीन-स्तरीय NER स्टैक — spaCy, Stanza, और XLM-RoBERTa — इस्तेमाल करता है जो 48 भाषाओं में सुसंगत PII पहचान के साथ काम करता है।