बहु-भाषा NER चुनौती
नामित इकाई पहचान (NER) मॉडल जो अंग्रेजी पर प्रशिक्षित हैं, प्रभावशाली परिणाम प्राप्त करते हैं—मानक बेंचमार्क पर 85-92% F1 स्कोर। उन ही मॉडलों को अरबी या चीनी पर लागू करें? सटीकता अक्सर 50-70% तक गिर जाती है।
PII पहचान के लिए, यह अंतर महत्वपूर्ण है। 70% पहचान दर का मतलब है 30% संवेदनशील डेटा असुरक्षित रहता है।
अंग्रेजी मॉडल क्यों विफल होते हैं
1. शब्द सीमाएँ
अंग्रेजी: शब्दों को स्थानों द्वारा अलग किया जाता है।
"John Smith lives in New York"
→ ["John", "Smith", "lives", "in", "New", "York"]
चीनी: कोई शब्द सीमाएँ नहीं होतीं।
"张伟住在北京"
→ पहले विभाजन की आवश्यकता है: ["张伟", "住在", "北京"]
अरबी: शब्द जुड़े होते हैं, और छोटे स्वर नहीं लिखे जाते।
"محمد يعيش في دبي"
→ जुड़े हुए लिपि, दाएं से बाएं, स्वर छोड़ दिए गए
अंग्रेजी टोकनाइजेशन नियम बस लागू नहीं होते।
2. रूपात्मक जटिलता
अंग्रेजी रूपविज्ञान: अपेक्षाकृत सरल
run → runs, running, ran
अरबी रूपविज्ञान: अत्यंत जटिल (मूल-रूप प्रणाली)
كتب (k-t-b, "लिखना" मूल)
→ كاتب (लेखक), كتاب (पुस्तक), مكتبة (पुस्तकालय), يكتب (वह लिखता है)
एकल अरबी मूल दर्जनों संबंधित शब्द उत्पन्न करता है। NER मॉडल को इस व्युत्पत्ति प्रणाली को समझना चाहिए।
3. नाम की परंपराएँ
अंग्रेजी नाम: पहला अंतिम
John Smith, Mary Johnson
अरबी नाम: कई घटक
محمد بن عبد الله بن عبد المطلب
(Muhammad son-of Abdullah son-of Abdul-Muttalib)
चीनी नाम: पारिवारिक नाम पहले, अक्सर कुल 2-3 वर्ण
张伟 (Zhang Wei) - 2 वर्ण
欧阳修 (Ouyang Xiu) - 3 वर्ण
4. लिपि की दिशा
अंग्रेजी: बाएं से दाएं (LTR) अरबी/हिब्रू: दाएं से बाएं (RTL) मिश्रित पाठ: द्विदिशीय (BiDi) - अत्यंत जटिल
जब अंग्रेजी नाम अरबी पाठ में प्रकट होता है:
التقيت بـ John Smith في المؤتمر
(I met John Smith at the conference)
प्रदर्शन क्रम, तार्किक क्रम, और प्रदर्शन क्रम सभी भिन्न होते हैं।
भाषा के अनुसार सटीकता
वास्तविक दुनिया में NER प्रदर्शन नाटकीय रूप से भिन्न होता है:
| भाषा | लिपि | F1-स्कोर रेंज | चुनौती स्तर |
|---|---|---|---|
| अंग्रेजी | लैटिन | 85-92% | कम |
| जर्मन | लैटिन | 82-88% | कम |
| फ्रेंच | लैटिन | 80-87% | कम |
| स्पेनिश | लैटिन | 81-86% | कम |
| रूसी | सिरिलिक | 75-83% | मध्यम |
| अरबी | अरबी | 55-75% | उच्च |
| चीनी | हान्ज़ी | 60-78% | उच्च |
| जापानी | मिश्रित | 65-80% | उच्च |
| थाई | थाई | 50-70% | बहुत उच्च |
| हिंदी | देव nagari | 60-75% | उच्च |
जटिल रूपविज्ञान, गैर-लैटिन लिपियों, या कोई शब्द सीमाएँ वाली भाषाएँ लगातार कम प्रदर्शन करती हैं।
anonym.legal का तीन-स्तरीय दृष्टिकोण
हम तीन विशेषीकृत स्तरों के माध्यम से बहु-भाषा NER को हल करते हैं:
स्तर 1: spaCy (25 भाषाएँ)
उच्च संसाधन भाषाओं के लिए जिनके पास अच्छे मॉडल हैं:
- अंग्रेजी, जर्मन, फ्रेंच, स्पेनिश, इतालवी, पुर्तगाली
- डच, पोलिश, रूसी, ग्रीक
- और 15 और जिनकी सटीकता विश्वसनीय है
स्तर 2: Stanza (7 भाषाएँ)
जटिल रूपविज्ञान वाली भाषाओं के लिए:
- अरबी (मूल-रूप रूपविज्ञान)
- चीनी (शब्द विभाजन की आवश्यकता)
- जापानी (कई लिपियाँ)
- कोरियाई (संयुक्त)
- और 3 और
स्तर 3: XLM-RoBERTa (16 भाषाएँ)
निम्न संसाधन भाषाओं के लिए जिनके पास समर्पित मॉडल नहीं हैं:
- थाई, वियतनामी, इंडोनेशियाई
- हिंदी, बांग्ला, तमिल
- हिब्रू, तुर्की, फारसी
- और अधिक
यह कैसे काम करता है
इनपुट पाठ के साथ भाषा पहचान
↓
[भाषा राउटर]
↓
┌───────┴───────┐
↓ ↓
उच्च-संसाधन जटिल/निम्न-संसाधन
(spaCy) (Stanza/XLM-RoBERTa)
↓ ↓
└───────┬───────┘
↓
[संरचित डेटा के लिए Regex ओवरले]
↓
[विश्वास विलय]
↓
अंतिम इकाइयाँ
Regex ओवरले
कुछ पैटर्न भाषा-स्वतंत्र होते हैं:
- ईमेल पते:
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} - क्रेडिट कार्ड:
\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4} - फोन नंबर: देश के अनुसार विभिन्न पैटर्न
हम पहले संरचित डेटा के लिए regex लागू करते हैं, भाषा की परवाह किए बिना।
RTL लिपि प्रबंधन
दाएं से बाएं भाषाओं को विशेष प्रबंधन की आवश्यकता होती है:
द्विदिशीय पाठ एल्गोरिदम
जब अरबी में अंग्रेजी होती है:
दृश्य: المؤتمر في John Smith بـ التقيت
तार्किक: التقيت بـ John Smith في المؤتمر
हमारी प्रक्रिया:
- तार्किक क्रम में सामान्यीकृत करें
- तार्किक क्रम पर NER चलाएँ
- दृश्य क्रम में इकाई स्थानों को वापस मैप करें
- किसी भी रेंडरिंग के लिए सुसंगत स्थान लौटाएँ
इकाई सीमा पहचान
अरबी इकाई सीमाएँ जटिल होती हैं:
"محمد" - केवल नाम
"لمحمد" - "मुहम्मद के लिए" (संलग्न पूर्वसर्ग)
"ومحمد" - "और मुहम्मद" (संलग्न संयोजक)
हम NER से पहले उपसर्ग हटा देते हैं और बाद में फिर से जोड़ते हैं।
कोड-स्विचिंग
वास्तविक पाठ अक्सर भाषाओं को मिलाता है:
"El meeting con John es at 3pm"
(स्पेनिश-english मिश्रण)
"我今天跟John去shopping"
(चीनी-english मिश्रण)
हमारा दृष्टिकोण:
- भाषा द्वारा पाठ को विभाजित करें
- प्रत्येक खंड को उपयुक्त मॉडल के साथ संसाधित करें
- स्थिति मैपिंग के साथ परिणामों को मर्ज करें
प्रदर्शन बेंचमार्क
मिश्रित-भाषा डेटा सेट पर आंतरिक परीक्षण:
| परिदृश्य | F1-स्कोर |
|---|---|
| केवल अंग्रेजी | 91% |
| केवल जर्मन | 88% |
| केवल अरबी | 79% |
| केवल चीनी | 81% |
| अंग्रेजी-अरबी मिश्रण | 83% |
| अंग्रेजी-चीनी मिश्रण | 84% |
| अंग्रेजी-जर्मन मिश्रण | 89% |
हमारा हाइब्रिड दृष्टिकोण चुनौतीपूर्ण भाषाओं पर भी उच्च सटीकता बनाए रखता है।
कार्यान्वयन सुझाव
API उपयोगकर्ताओं के लिए
जब ज्ञात हो तो भाषा निर्दिष्ट करें:
{
"text": "محمد بن عبد الله",
"language": "ar"
}
जब अज्ञात हो तो हमें स्वचालित पहचान करने दें:
{
"text": "محمد بن عبد الله",
"language": "auto"
}
डेस्कटॉप ऐप उपयोगकर्ताओं के लिए
ऐप प्रति-प्रलेख भाषा का स्वचालित पहचान करता है। मिश्रित-भाषा फ़ाइलों के लिए, यह प्रत्येक खंड को उपयुक्त रूप से संसाधित करता है।
कस्टम इकाई प्रकारों के लिए
कस्टम पैटर्न को लिपियों के लिए ध्यान में रखना चाहिए:
# अंग्रेजी कर्मचारी ID
EMP-[0-9]{6}
# अरबी कर्मचारी ID (अरबी अंकों को शामिल करता है)
موظف-[٠-٩0-9]{6}
निष्कर्ष
अंग्रेजी-प्रशिक्षित NER मॉडल गैर-अंग्रेजी पाठ पर विफल होते हैं क्योंकि भाषाएँ मौलिक रूप से भिन्न होती हैं:
- शब्द सीमाएँ (या उनकी अनुपस्थिति)
- रूपात्मक जटिलता
- लिपि की दिशा
- नाम की परंपराएँ
प्रभावी बहु-भाषाई PII पहचान की आवश्यकता है:
- जटिल लिपियों के लिए भाषा-विशिष्ट मॉडल
- संरचित डेटा के लिए Regex पैटर्न
- उचित RTL/BiDi प्रबंधन
- कोड-स्विचिंग समर्थन
anonym.legal 48 भाषाओं का समर्थन करता है हमारे तीन-स्तरीय दृष्टिकोण के माध्यम से, सभी में सुसंगत सटीकता प्राप्त करता है।
खुद कोशिश करें:
स्रोत: