멸종위기 언어를 디지털로 보존하는 과정에서 가장 중요한 것은 데이터의 일관성과 상호운용성입니다. 전 세계적으로 7,000개 이상의 언어가 존재하며, 이 중 약 40%가 멸종 위기에 처해 있습니다. 각 언어마다 고유한 특성이 있지만, 디지털 보존을 위해서는 표준화된 데이터 형식이 필수적입니다.
WIA-LANG-001 표준은 언어학자, 개발자, 커뮤니티 구성원들이 협력하여 언어 데이터를 수집, 저장, 공유할 수 있도록 설계되었습니다. 이 표준은 JSON, XML, RDF와 같은 현대적인 데이터 형식을 기반으로 하며, 언어 특유의 메타데이터를 포함할 수 있는 확장 가능한 구조를 제공합니다.
멸종위기 언어 데이터는 다음과 같은 핵심 요소로 구성됩니다:
WIA-LANG-001 표준의 기본 데이터 형식은 JSON (JavaScript Object Notation)입니다. JSON은 읽기 쉽고, 프로그래밍 언어에 독립적이며, 웹 기술과의 호환성이 뛰어나 언어 보존 프로젝트에 이상적입니다.
{
"wiaLangVersion": "1.0",
"metadata": {
"languageCode": "ISO-639-3",
"languageName": "언어명",
"endangermentLevel": "critically_endangered",
"speakerCount": 150,
"region": {
"country": "대한민국",
"province": "제주특별자치도",
"coordinates": {
"latitude": 33.4996,
"longitude": 126.5312
}
},
"lastUpdated": "2025-12-29T00:00:00Z",
"contributors": [
{
"name": "김언어",
"role": "언어학자",
"affiliation": "WIA 언어보존연구소"
}
],
"license": "CC-BY-SA-4.0",
"philosophy": "弘益人間"
},
"lexicon": [
{
"id": "word-001",
"lemma": "어머니",
"translation": "mother",
"partOfSpeech": "noun",
"pronunciation": {
"ipa": "ʌmʌni",
"audioUrl": "https://archive.wia.org/audio/word-001.mp3",
"audioHash": "sha256:abc123..."
},
"semantics": {
"definition": "여성 부모를 일컫는 말",
"culturalContext": "전통적으로 가족의 중심 역할",
"synonyms": ["엄마", "모친"],
"examples": [
{
"sentence": "어머니께서 말씀하셨다",
"translation": "Mother said",
"audioUrl": "https://archive.wia.org/audio/ex-001.mp3"
}
]
},
"etymology": {
"origin": "고대 한국어 '어미'에서 유래",
"cognates": ["日本語: 母 (haha)", "中文: 母 (mǔ)"]
}
}
],
"grammar": {
"wordOrder": "SOV",
"hasGender": false,
"hasCase": true,
"hasTone": false,
"morphology": {
"type": "agglutinative",
"features": ["honorifics", "particles"]
}
}
}
| 필드명 | 타입 | 필수여부 | 설명 |
|---|---|---|---|
wiaLangVersion |
String | 필수 | WIA-LANG 표준 버전 |
metadata |
Object | 필수 | 언어 메타데이터 정보 |
languageCode |
String | 필수 | ISO 639-3 언어 코드 |
endangermentLevel |
Enum | 필수 | 멸종위기 등급 (safe, vulnerable, endangered, critically_endangered, extinct) |
lexicon |
Array | 필수 | 어휘 목록 |
pronunciation |
Object | 선택 | 발음 정보 (IPA, 오디오 등) |
grammar |
Object | 선택 | 문법 구조 정보 |
UNESCO와 Ethnologue의 분류를 기반으로 한 WIA-LANG-001의 멸종위기 등급 분류는 다음과 같습니다:
| 등급 | 영어명 | 화자 수 | 세대 전승 | 조치 필요성 |
|---|---|---|---|---|
| 안전 (Safe) | Safe | 100,000명 이상 | 모든 세대가 사용 | 모니터링 |
| 취약 (Vulnerable) | Vulnerable | 10,000-100,000명 | 대부분의 아이들이 배움 | 교육 프로그램 권장 |
| 위기 (Endangered) | Endangered | 1,000-10,000명 | 부모 세대만 사용 | 긴급 문서화 필요 |
| 심각한 위기 (Critically Endangered) | Critically Endangered | 100-1,000명 | 조부모 세대만 사용 | 즉각적인 보존 조치 |
| 사멸 (Extinct) | Extinct | 0명 | 전승 중단 | 역사적 복원 연구 |
언어 보존에서 오디오 녹음은 필수적입니다. WIA-LANG-001은 다음과 같은 오디오 데이터 표준을 권장합니다:
{
"audio": {
"format": "FLAC",
"bitDepth": 24,
"sampleRate": 48000,
"channels": 2,
"duration": 3.5,
"recordingDate": "2025-12-29",
"equipment": {
"microphone": "Shure SM7B",
"recorder": "Zoom H6",
"environment": "controlled_studio"
},
"speaker": {
"id": "speaker-042",
"age": 68,
"gender": "female",
"nativeSpeaker": true,
"dialectRegion": "제주도 서귀포"
},
"transcription": {
"orthographic": "이디 오라",
"ipa": "idi oɾa",
"translation": "come here",
"notes": "제주 방언 특유의 명령형"
},
"checksum": "sha256:def456...",
"archiveUrl": "https://archive.wia.org/audio/rec-042.flac",
"waveformUrl": "https://archive.wia.org/waveform/rec-042.png"
}
}
제주어는 UNESCO가 지정한 심각한 멸종위기 언어입니다. 다음은 제주어 단어를 WIA-LANG-001 형식으로 입력하는 실제 예제입니다:
const jejuLanguageData = {
"wiaLangVersion": "1.0",
"metadata": {
"languageCode": "jje",
"languageName": "제주어",
"englishName": "Jeju Language",
"endangermentLevel": "critically_endangered",
"speakerCount": 5000,
"region": {
"country": "대한민국",
"province": "제주특별자치도",
"coordinates": {
"latitude": 33.4996,
"longitude": 126.5312
}
},
"lastUpdated": "2025-12-29T12:00:00Z",
"contributors": [
{
"name": "강영봉",
"role": "제주어 연구자",
"affiliation": "제주대학교 국어문화원"
}
],
"license": "CC-BY-SA-4.0",
"philosophy": "弘益人間 - 제주어 보존을 통한 문화유산 계승"
},
"lexicon": [
{
"id": "jeju-001",
"lemma": "하르방",
"translation": "할아버지",
"englishTranslation": "grandfather",
"partOfSpeech": "noun",
"pronunciation": {
"ipa": "haɾɯbaŋ",
"audioUrl": "https://archive.wia.org/jeju/audio/001.flac",
"audioHash": "sha256:1a2b3c..."
},
"semantics": {
"definition": "남성 조부를 일컫는 제주 방언",
"culturalContext": "제주 돌하르방의 '하르방'이 이 단어에서 유래",
"synonyms": ["할으방", "한라방"],
"examples": [
{
"sentence": "하르방이 말씀하시다",
"translation": "할아버지가 말씀하시다",
"englishTranslation": "Grandfather is speaking",
"audioUrl": "https://archive.wia.org/jeju/audio/ex-001.flac"
}
]
},
"etymology": {
"origin": "중세 한국어 '한아비'에서 변형",
"historicalForms": ["한라방", "할으방"]
}
},
{
"id": "jeju-002",
"lemma": "혼저옵서예",
"translation": "어서오세요",
"englishTranslation": "welcome",
"partOfSpeech": "interjection",
"pronunciation": {
"ipa": "hond͡ʑʌops͈ʌje",
"audioUrl": "https://archive.wia.org/jeju/audio/002.flac",
"audioHash": "sha256:4d5e6f..."
},
"semantics": {
"definition": "손님을 맞이하는 제주어 인사말",
"culturalContext": "제주도 관광 명소에서 널리 사용되는 환영 인사",
"usage": "격식있는 상황에서 사용",
"examples": [
{
"sentence": "가게에 들어서니 주인이 '혼저옵서예'라고 인사했다",
"translation": "Entering the store, the owner greeted with 'Welcome'",
"audioUrl": "https://archive.wia.org/jeju/audio/ex-002.flac"
}
]
}
}
],
"grammar": {
"wordOrder": "SOV",
"hasGender": false,
"hasCase": true,
"hasTone": false,
"morphology": {
"type": "agglutinative",
"features": [
"honorifics",
"particles",
"unique_verbal_endings"
]
},
"uniqueFeatures": [
"표준어와 다른 어휘 체계",
"독특한 음운 현상 (ㅗ > ㅜ 변화)",
"고유한 존댓말 체계"
]
}
};
// 데이터 검증 함수
function validateWIALangData(data) {
const requiredFields = [
'wiaLangVersion',
'metadata',
'metadata.languageCode',
'metadata.endangermentLevel'
];
for (const field of requiredFields) {
const value = field.split('.').reduce((obj, key) => obj?.[key], data);
if (!value) {
throw new Error(`필수 필드 누락: ${field}`);
}
}
// 멸종위기 등급 검증
const validLevels = [
'safe',
'vulnerable',
'endangered',
'critically_endangered',
'extinct'
];
if (!validLevels.includes(data.metadata.endangermentLevel)) {
throw new Error('유효하지 않은 멸종위기 등급');
}
console.log('✓ 데이터 검증 완료');
return true;
}
// 데이터 내보내기
function exportToWIAFormat(data, filename) {
const jsonString = JSON.stringify(data, null, 2);
// 파일 저장 (Node.js 환경)
const fs = require('fs');
fs.writeFileSync(filename, jsonString, 'utf-8');
console.log(`데이터가 ${filename}에 저장되었습니다.`);
console.log(`파일 크기: ${jsonString.length} bytes`);
console.log(`어휘 항목 수: ${data.lexicon.length}`);
}
// 사용 예시
try {
validateWIALangData(jejuLanguageData);
exportToWIAFormat(jejuLanguageData, 'jeju-language-v1.json');
} catch (error) {
console.error('오류 발생:', error.message);
}
JSON 외에도 WIA-LANG-001은 XML과 RDF 형식을 지원합니다. 특히 RDF는 링크드 데이터와의 통합에 유용합니다.
<?xml version="1.0" encoding="UTF-8"?>
<wiaLang version="1.0">
<metadata>
<languageCode>jje</languageCode>
<languageName>제주어</languageName>
<endangermentLevel>critically_endangered</endangermentLevel>
<philosophy>弘益人間</philosophy>
</metadata>
<lexicon>
<entry id="jeju-001">
<lemma>하르방</lemma>
<translation lang="ko">할아버지</translation>
<translation lang="en">grandfather</translation>
<pronunciation ipa="haɾɯbaŋ">
<audio src="https://archive.wia.org/jeju/audio/001.flac"/>
</pronunciation>
</entry>
</lexicon>
</wiaLang>
WIA-LANG-001 표준은 데이터 품질을 보장하기 위해 다음과 같은 검증 메커니즘을 제공합니다: