By · Last updated 2026-02-26

블로그로 돌아가기기술

다국어 NER: 영어 모델은 아랍어를 처리하지 못합니다

영어 NER 모델은 표준 테스트에서 85-92% 정확도를 달성합니다. 아랍어와 중국어에서는? 종종 50-70%에 그칩니다. 기술적 과제와 진정한 다국어 개인정보 탐지 구축 방법을 알아보세요.

February 26, 20268 분 읽기
NERmultilingualArabic NLPChinese NLPPII detection

다국어 NER: 개인정보 탐지의 과제

2026년 업데이트

정확도 격차

영어로 학습된 NER 모델은 표준 테스트에서 F1 85–92%를 달성합니다. 같은 모델을 아랍어나 중국어 텍스트에 적용해 보세요. 정확도가 50–70%로 떨어집니다.

개인정보 작업에서 이 격차는 문제입니다. 탐지율 70%는 민감한 데이터의 30%가 탐지되지 않는다는 것을 의미합니다.

원인은 버그가 아닙니다. 문자 체계의 차이에서 비롯됩니다.

네 가지 근본 원인

1. 단어 경계

영어는 공백으로 단어를 구분합니다. 토큰화가 쉽습니다.

중국어에는 공백이 전혀 없습니다.

``` "张伟住在北京" → 먼저 분리: ["张伟", "住在", "北京"] ```

모델은 찾을 수 없는 것을 태그할 수 없습니다. NER 전에 분리가 먼저 이루어져야 합니다.

아랍어는 단어 내에서 글자가 연결됩니다. 단모음이 생략됩니다. 텍스트가 오른쪽에서 왼쪽으로 흐릅니다.

``` "محمد يعيش في دبي" → 단모음 없음, 오른쪽에서 왼쪽, 연결된 글자 ```

2. 형태론

영어 동사는 몇 가지 방식으로 변합니다. 아랍어는 어근 체계를 사용합니다. 하나의 어근이 수십 개의 단어를 만듭니다.

``` كتب (k-t-b, "쓰다") → كاتب (작가), كتاب (책), مكتبة (도서관) ```

NER은 파생 어형에서 이름을 찾기 위해 어근을 분석해야 합니다.

3. 이름 관습

라틴어 이름은 이름 다음 성 순서입니다. RTL 언어의 이름은 가족 관계를 연결합니다.

``` محمد بن عبد الله (무함마드 빈 압둘라) ```

중국어 이름은 성이 먼저 나옵니다. 대부분의 이름은 두세 글자 길이입니다.

``` 张伟 (장웨이) — 2글자 欧阳修 (구양수) — 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%높음

비라틴 체계와 단어 경계 부재가 전반적으로 점수를 낮춥니다.

3단계 솔루션

당사는 3단계 구조를 사용해 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%

설정 안내

데스크톱 앱은 문서당 자동으로 언어를 감지합니다. 혼합 언어 파일의 경우 각 세그먼트를 맞는 모델로 처리합니다. 수동 단계가 필요하지 않습니다.

언어를 알고 있을 때 API에서 설정합니다:

```json { "text": "محمد بن عبد الله", "language": "ar" } ```

모를 때는 자동 감지를 사용합니다:

```json { "text": "محمد بن عبد الله", "language": "auto" } ```

사용자 정의 패턴은 로케일 특화 숫자를 포함해야 합니다:

```

라틴 직원 ID

EMP-[0-9]{6}

아랍어 직원 ID (아랍-인도 숫자 포함)

موظف-[٠-٩0-9]{6} ```

전체 엔터티 목록을 참조하세요. API 설정은 API 기능 페이지를 방문하세요. GDPR 준수 가이드에서 탐지 격차가 데이터 보호법에 미치는 영향을 확인하세요.


anonym.legal은 3단계 NER 스택 — spaCy, Stanza, XLM-RoBERTa — 을 사용해 일관된 개인정보 탐지로 48개 언어를 지원합니다.

출처

데이터 보호를 시작할 준비가 되셨나요?

48개 언어로 285개 이상의 엔티티 유형으로 PII 익명화를 시작하세요.

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.