กลับไปที่บล็อกเทคนิค

NER หลายภาษา: โมเดลภาษาอังกฤษใช้ไม่ได้กับภาษาอาหรับ

โมเดล NER ที่ฝึกด้วยภาษาอังกฤษได้ความแม่นยำ 85-92% แต่สำหรับภาษาอาหรับและจีน มักได้เพียง 50-70% เรียนรู้ความท้าทายทางเทคนิคและวิธีสร้างระบบที่ครอบคลุมอย่างแท้จริง

February 26, 20268 อ่านประมาณ
NERmultilingualArabic NLPChinese NLPPII detection

NER หลายภาษา: ความท้าทายในการตรวจจับ PII

อัปเดตสำหรับปี 2026

ช่องว่างด้านความแม่นยำ

โมเดล NER ที่ฝึกด้วยภาษาอังกฤษได้คะแนน F1 85–92% ในการทดสอบมาตรฐาน แต่เมื่อนำโมเดลเดียวกันไปใช้กับข้อความภาษาอาหรับหรือจีน ความแม่นยำลดลงเหลือ 50–70%

สำหรับงาน PII ช่องว่างนี้คือปัญหาร้ายแรง อัตราการตรวจพบ 70% หมายความว่า ข้อมูลสำคัญ 30% ไม่ถูกตรวจพบ

สาเหตุไม่ใช่ข้อบกพร่องในโปรแกรม แต่มาจากความแตกต่างของระบบการเขียน

สาเหตุหลัก 4 ประการ

1. ขอบเขตคำ

ภาษาอังกฤษแบ่งคำด้วยช่องว่าง การแบ่ง token ทำได้ง่าย ภาษาจีนไม่มีช่องว่างเลย โมเดลไม่สามารถแท็กสิ่งที่หาไม่พบ การแบ่งคำต้องมาก่อน NER

ภาษาอาหรับเชื่อมตัวอักษรภายในคำ ไม่ใส่สระสั้น และเขียนจากขวาไปซ้าย

2. สัณฐานวิทยา

ภาษาอาหรับใช้ระบบรากศัพท์ รากเดียวสร้างคำได้หลายสิบคำ NER ต้องวิเคราะห์รากศัพท์เพื่อหาชื่อในรูปแบบคำที่ดัดแปลง ตัวอย่างเช่น รากคำ k-t-b ("เขียน") ให้กำเนิดคำว่า นักเขียน หนังสือ และห้องสมุด

3. รูปแบบชื่อ

ชื่อภาษาละตินเป็นชื่อต้นตามด้วยนามสกุล ชื่อในภาษา RTL เชื่อมโยงสายสัมพันธ์ครอบครัว เช่น "มูฮัมมัด บุตรชายของ อับดุลลาห์" ชื่อภาษาจีนใส่นามสกุลก่อน ส่วนใหญ่ยาวสองหรือสามตัวอักษร โมเดลที่สร้างบนรูปแบบชื่อตะวันตกจะพลาดโครงสร้างเหล่านี้

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

Pipeline ของเรา: (1) ปรับข้อความให้เป็นลำดับทางตรรกะ (2) รัน NER บนลำดับนั้น (3) แมปตำแหน่ง entity กลับไปยังลำดับการแสดงผล เราตัด prefix ที่ติดกันออกก่อน NER และเพิ่มกลับหลังจากนั้น

การสลับโค้ด

เอกสารจริงมักผสมภาษาในบรรทัดเดียวกัน เช่น "El meeting con John es at 3pm" Pipeline ของเราแบ่งตามภาษา รันโมเดลที่เหมาะสมในแต่ละส่วน จากนั้นรวมผลลัพธ์พร้อมการแมปตำแหน่ง

ผลการทดสอบภายใน

ผลจากการทดสอบภายในบนข้อมูลหลายภาษาผสมกัน:

สถานการณ์F1
ภาษาอังกฤษเท่านั้น91%
ภาษาเยอรมันเท่านั้น88%
ภาษาอาหรับเท่านั้น79%
ภาษาจีนเท่านั้น81%
ผสมอังกฤษ-อาหรับ83%
ผสมอังกฤษ-จีน84%
ผสมอังกฤษ-เยอรมัน89%

หมายเหตุการตั้งค่า

Desktop App ตรวจจับภาษาอัตโนมัติต่อเอกสาร สำหรับไฟล์ที่มีหลายภาษา จะประมวลผลแต่ละส่วนด้วยโมเดลที่เหมาะสม ไม่ต้องทำขั้นตอนด้วยตนเอง

ระบุภาษาใน API เมื่อทราบ ด้วย "language": "ar" ใช้ "language": "auto" เมื่อไม่ทราบ

ดู รายการ entity ครบถ้วน สำหรับการตั้งค่า API เยี่ยมชม หน้าฟีเจอร์ API คู่มือการปฏิบัติตาม GDPR ของเราครอบคลุมว่าช่องว่างในการตรวจจับส่งผลต่อกฎหมายคุ้มครองข้อมูลอย่างไร


anonym.legal ใช้ stack NER สามระดับ — spaCy, Stanza และ XLM-RoBERTa — เพื่อครอบคลุม 48 ภาษาด้วยการตรวจจับ PII ที่สม่ำเสมอ

แหล่งที่มา

พร้อมที่จะปกป้องข้อมูลของคุณหรือยัง?

เริ่มทำให้ PII เป็นนิรนามด้วยประเภทเอนทิตี273 ประเภทใน 48 ภาษา.