ब्लॉग पर वापस जाएँतकनीकी

बहुभाषी NER: अरबी और चीनी में PII पहचान की चुनौतियाँ

अंग्रेज़ी NER मॉडल 85-92% सटीकता हासिल करते हैं। अरबी और चीनी में? अक्सर 50-70%। लिखाई प्रणालियों और तकनीकी समाधानों के बारे में जानें।

February 26, 20268 मिनट पढ़ें
NERmultilingualArabic NLPChinese NLPPII detection

बहुभाषी 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

दाएं से बाएं टेक्स्ट को विभाजन से परे अतिरिक्त चरण चाहिए।

हमारी पाइपलाइन:

  1. टेक्स्ट को तार्किक क्रम में सामान्य बनाती है।
  2. उस क्रम पर NER चलाती है।
  3. एंटिटी स्थिति को दृश्य क्रम में वापस मैप करती है।

हम 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 पहचान के साथ काम करता है।

स्रोत

क्या आप अपने डेटा की सुरक्षा के लिए तैयार हैं?

48 भाषाओं में 273 संस्थाओं के प्रकारों के साथ PII अनामकरण शुरू करें।