다국어 NLP는 단순 번역 그 이상: 아프리카 언어에서 얻은 교훈
요약
본 기사는 다국어 NLP 시스템 구축 시, 단순히 언어를 병렬로 처리하는 것이 아니라 각 언어의 고유한 언어학적 특성과 규칙을 모델링해야 함을 강조합니다. Swahili, Gikuyu 등 아프리카 언어 사례를 통해 활성 어휘집의 비대칭성, 형태론적 복잡성 등을 다루는 '언어학적 정책 시스템' 구축의 중요성을 설명합니다.
핵심 포인트
- 다국어 NLP는 단순 번역을 넘어 각 언어의 고유한 규칙 모델링이 필요하다.
- Gikuyu와 같은 언어는 형태론, 극성 등 복잡한 요소에 의존하므로 아키텍처적 접근이 중요하다.
- 가장 긴 구문부터 매칭하는(Longest-First matching) 전략은 모호성 해소 및 고위험 정책 포착에 필수적이다.
솔직히 고백할게요.
저는 예전에 다국어 NLP가 주로 토크나이저(tokenizer)에 언어를 넣는 것에 불과하다고 생각했어요... Gikuyu, Swahili, isiZulu를 다루기 전까지는요.
AI-BRIDGE 엔지니어링 과정 중 바이어스 교정 레이어(Bias Correction Layer)의 가장 흥미로운 부분 중 하나는 '다국어'라는 것이 항상 동일한 전략을 여러 번 번역한다는 의미가 아님을 깨달았다는 점이에요. (물론 그렇게 하면 정말 쉬웠겠지만요?... 하지만 늘 쉽게 할 수는 없잖아요.)
규칙 엔진(rule engine)은 언어 자체가 다르게 작동하기 때문에 다르게 행동해야 했어요. 그리고 그 차이점들 중 일부는 아키텍처적인 것이었죠.
여섯 개의 언어, 여섯 가지 다른 개성
활성 어휘집(active lexicons)들이 대칭적이지 않았습니다.
해당 프로젝트에는 대략 다음과 같은 내용이 포함되어 있었습니다:
- Swahili 규칙 432개
- Gikuyu 규칙 1,326개
- 영어 규칙 106개
- 프랑스어 규칙 145개
- Hausa 규칙 162개
- isiZulu 규칙 153개
이러한 비대칭성은 의도된 것이었습니다. 이는 우리가 각 언어의 언어학적 위험(linguistic risks)을 모델링해야 했던 방식을 반영합니다. 예를 들어, Swahili는 소유격(possessives), 직업 성별 표지자(occupational gender markers), Sheng 레지스터, 속담 및 역할 설명에 대한 특정 처리가 필요했습니다.
Gikuyu는 형태론(morphology), 극성(polarity) 및 긴 구문 일치(long phrase matching)에 크게 의존했습니다.
isiZulu는 성별 연계 화응 접미사 패턴(gender linked concordial suffix patterns)을 사용했습니다.
프랑스어는 포함적 쓰기법(inclusive writing), 그리고 구문 수준의 대안(phrase level alternatives)을 가졌습니다.
Hausa는 실제 보고에서 자주 중립적인 용어 주변에 전용 중립 컨텍스트 처리(dedicated neutral context handling)를 했습니다.
이 모든 것을 거치면서, 엔진은 작은 언어학적 정책 시스템(linguistic policy system)으로 발전하게 되었습니다.
가장 긴 것부터 일치시키기(Longest-First matching)는 지루해 보이지만 도움이 될 때가 있습니다
규칙 로더(rule loader)는 편향된 구문들을 가장 긴 것부터 정렬합니다. 이는 Gikuyu의 경우 특히 중요해집니다.
만약 어휘집에 다음 내용이 포함되어 있다고 가정해 봅시다:
mũtumia wa mũciĩ
mũtumia wa mũciĩ ndangĩhõta
mũtumia wa mũciĩ ndangĩhõta wĩra wa ũtongoria
언어학적 분석: mũtumia wa mũciĩ
→
→ "집안일 하는 여성이 리더십 업무를 관리할 수 없다"
- 왜 가장 짧은 것부터 매칭하는 방식이 여기서 실패하는가:
mũtumia wa mũciĩ를 먼저 매칭하면 일반적인 성 역할 플래그나 재작성(rewrite)을 유발하여, 엔진이 리더십 차별을 겨냥한 특정 고위험 정책 규칙(...ndangĩhõta wĩra wa ũtongoria)을 포착하기 전에 입력 문자열을 파괴해버립니다.
따라서 로더는 구문 길이(phrase length)를 모호성 해소 전략의 일부로 취급합니다. 이를 더 잘 설명하기 위해 간단한 예시를 준비했습니다.
┌──────────────────────────────┐
│ │
│ 어휘 사전 불러오기 (Load lexicon) │
...
이것은 코드 검토(code review) 당시에는 사소해 보였지만, 실제 텍스트가 도착하자 극도로 중요해진 엔지니어링 선택 중 하나입니다.
스와힐리어는 단순한 단어 매칭 그 이상을 요구했다
가장 흥미로운 규칙들 중 일부는 명백한 성별 지정 명사(gendered nouns)가 아니었습니다. 우리는 yake, wake, zake와 같은 소유격 단어가 무엇을 지칭하느냐에 따라 완전히 중립적일 수 있다는 것을 깨달았습니다.
Nyumba yake (그녀의 집)는 daktari wake (그녀의 의사)와 같은 언어학적 문제는 아닙니다.
그래서 컨텍스트 검사기(context checker)는 인간 지칭 대상 게이트(human-referent gate)와 무생물 명사 게이트(inanimate-noun gate)를 도입했습니다.
이것이야말로 우리가 서로 다른 언어들을 문자열의 묶음(bag of strings)으로 취급하려고 했을 때 거의 사라질 뻔했던 종류의 논리입니다.😅😅😅
그리고 반(反)고정관념 컨텍스트가 있었다
여기서 상황은 더욱 흥미로워졌습니다. 구문이 같은 성별 지정 용어를 포함할 수 있지만, 주변 문장이 그것을 표현하기보다는 고정관념에 도전하고 있을 수 있습니다 (아하!... 제가 무슨 말을 하는지 보이시나요?)
예를 들어, 어떤 문장은 같은 성별 지정 용어를 언급하지만, 주변 문장에서는 오히려 그 고정관념에 도전하는 내용일 수 있습니다.
문장이 직업에서 성공한 여성들에 대한 내용을 담고 있을 때 여성을 언급할 수도 있습니다. 컨텍스트를 무시하는 대체 시스템은 이미 교정 작업을 수행하고 있는 문장을 또다시 수정해버릴 수 있습니다.
이것이 바로 컨텍스트 검사기가 반(反)고정관념, 옹호 언어(advocacy language), 축하, 전기(biographies), 통계 등 다른 상황들을 위한 전용 논리를 포함하고 있는 이유입니다.
따라서 우리의 규칙 엔진이 '이 단어가 존재하는가?'라고 묻기보다는,
'이 단어를 이 상황에서 변경해야 하는가?'라고 스스로에게 질문합니다.
더 깊은 엔지니어링 교훈
저자원 언어(Low resource language) 공학은 여러분으로 하여금 평균값 뒤에 숨는 것을 멈추게 합니다.
우리가 익숙한 일반적인 영어 도구들이 약간 틀렸을 때, 누군가는 이를 품질 문제라고 부를 수 있습니다. 하지만 아프리카 언어 시스템이 틀렸을 때는, 훈련 데이터가 적고 ...(이는 별도의 게시물에서 확실히 다룰 것이며, 우리가 직면했던 다른 어려움들도 포함됩니다)., 벤치마크도 적고, 검토자도 적으며, 형태론적 복잡성이 더하기 때문에 엔지니어링 실수를 진단하기가 훨씬 어려울 수 있습니다.
이것이 명시적인 정책(explicit policy)을 매우 가치 있게 만듭니다.
여러분은 다음을 알아야 합니다:
어떤 규칙이 결정론적(deterministic)인가?
어떤 것이 경고(warning)인가?
어떤 문맥에서 편집이 억제되는가?
...
이러한 수준의 명시성이 AI-BRIDGE를 디버깅 가능하게 만듭니다.
┌────────────────┐ ┌───────────────────────────┐ ┌─────────────────────┐
│ │ │ │ │ │
│ 일치된 구(Matched phrase) ├────►│ 주변에는 무엇이 있는가? ├──Name─/─biography──►│ 다시 쓰지 마라 │
...
좋습니다. 이 기사의 끝에 도달했습니다.
안녕히 계세요! 다음 글에서 만나요!
AI 자동 생성 콘텐츠
본 콘텐츠는 Hacker Noon AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기