단어 게임에는 합법적인 문자열 목록 이상의 것이 필요합니다. 각 문자열이 무엇을 뜻하는지 말해 줄 수 있어야 하는데, 뜻이야말로 저장하기 가장 어려운 것입니다.
영어로 집필하고 편집했습니다. 이 한국어 판은 기계 번역으로 만들어졌으며, 정확성이 중요한 경우에는 영어 원문이 기준이 됩니다. 영어 원문 읽기 →
WordChess는 25×25 보드에서 148,941개 단어로 된 영어 사전을 가지고 진행되며 6, 표제어의 평균 길이는 8.6글자이고 가장 긴 것은 27글자에 이릅니다. 여기까지는 쉬운 부분입니다. 합법적인 단어 목록이란 게임이 받아들일 문자열의 집합일 뿐입니다. 흥미로운 부분은 보드 위의 그 문자열이 무엇을 뜻하는지 플레이어에게 알려 주는 일, 그것도 스물두 개 언어에서 한꺼번에 해내는 일입니다.
사전 편찬자들은 표제어(lemma)와 그 굴절형 사이에 뚜렷한 선을 긋습니다. 표제어는 사전에서 찾아보는 기본형으로, 영어라면 run, house, be 같은 것입니다. 그 주위를 표면형들의 패러다임이 돕니다. runs, ran, running처럼 말입니다. 각 형태는 같은 핵심 의미를 지니되 서로 다른 문법적 역할에 맞게 차려입은 것입니다. 3 사전은 설명의 지면을 표제어에 쓰고, 그림자들에게는 본래 자리를 가리키는 역할만 맡깁니다.
한 단어가 얼마나 많은 그림자를 드리우는지는 언어에 따라 다릅니다. 영어는 분석어로, 어순과 작은 보조 단어들에 기대기 때문에 동사 하나의 형태가 몇 개를 넘는 경우가 드뭅니다. 핀란드어는 교착어로, 어간에 접미사를 붙여 의미를 쌓아 올립니다. 핀란드어 명사 하나는 소유 어미와 접어가 그 위에 더해지기도 전에 단수와 복수에서 열다섯 개 남짓한 격으로 굴절하며, 실제로 구별되는 형태의 수는 수천 개에 이릅니다. 4 헝가리어는 영어의 구 하나, in my house(내 집 안에서)를 házamban이라는 한 단어에 담습니다. 5
정의는 누구나 편집할 수 있는 자유 사전 Wiktionary(위키낱말사전)에서 가져옵니다. 이 사전은 거대하고 다국어적입니다. 프로젝트는 활동 중인 언어판만 백 개를 훌쩍 넘고 표제어는 수천만 개에 달하며, 유급 편집진이 아니라 자원봉사자들이 함께 씁니다. 1 22개 언어로 운영되는 게임에게, 적용 범위 면에서 이에 근접하는 자유 어휘 자원은 없습니다.
그러나 서류상의 적용 범위가 곧 읽어 낼 수 있는 적용 범위는 아닙니다. Wiktionary는 인간 편집자들이 같은 풀이를 만 번씩 쓰지 않아도 되도록 굴절형을 저장합니다. 비표제어 항목은 정의를 풀어 쓰는 대신 form-of 틀을 담고 있는데, 이는 사실상 “이것은 저 표제어의 특정 문법 형태다”라고 말하는 작은 포인터입니다. 2 smoulders의 항목은 산문이 아니라, “third-person singular simple present form of smoulder”(smoulder의 3인칭 단수 단순 현재형)로 표시되는 틀입니다. 1
이 포인터들은 무시해도 될 만한 오차가 아닙니다. 영어 Wiktionary에서 약 127만 개의 정의 가운데 약 478,000개, 즉 3분의 1을 훌쩍 넘는 정의가 풀어 쓴 뜻풀이가 아니라 “form of” 정의입니다. 1 데이터는 거기 있습니다. 다만 접혀 있을 뿐입니다.
그러니 정말 중요한 과제는 결코 “단어가 없다”가 아니었습니다. 단어의 뜻이 순진한 파서라면 내버릴 틀 안에 들어 있다는 것이 문제였습니다. WordChess의 정의는 Wiktionary 원본 덤프를 읽고 굴절 틀을 언어별로 펼쳐서 만들어졌습니다. 각 포인터가 무엇을 뜻하는지 파서에게 가르치고, 그것을 평이한 풀이로 다시 쓴 것입니다. 6
언어마다 형태를 숨겨 두는 장치가 다릅니다. 스페인어는 동사 형태를 {{forma verbo}} 뒤에 넣어 두며, 이는 “verbal form of X”(X의 동사 형태)로 풀립니다. 독일어는 격변화형과 활용형에 {{Grundformverweis Dekl/Konj}}를 씁니다. 핀란드어는 {{taivutusmuoto}}에 기댑니다. 러시아어는 형태 틀을 아예 두지 않는 경우가 많아서, 굴절된 단어가 단순한 넘겨주기(собаки → собака)로만 존재하며, “form of” 풀이를 되찾으려면 그것을 따라가야 합니다. 6 각 관례를 처리하면 적용 범위가 껑충 뜁니다.
| 언어 | 이전 | 이후 | 증가 |
|---|---|---|---|
| 독일어 | 45% | 92% | +47 |
| 네덜란드어 | 58% | 90% | +32 |
| 핀란드어 | 54% | 74% | +20 |
| 러시아어 | 20% | 70% | +50 |
| 그리스어 | 15% | 57% | +42 |
이 프로젝트의 설계 및 빌드 노트에서 측정했습니다. 백분율은 사용할 수 있는 정의나 풀린 “form of” 풀이를 지닌 사전 항목의 비율입니다.
데이터는 결코 없었던 것이 아닙니다. 포인터 안에 접혀 있었을 뿐이며, 기계에게 단어를 준다는 것은 그것을 펼치는 법을 배우는 일이었습니다.
게임이 이제 무엇을 가지고 있는지 정직하게 말해 둘 필요가 있습니다. WordChess가 собаки는 собака(“개”)의 한 형태라고 보여 줄 때, 게임은 아무것도 이해하지 않았습니다. 인간 편집자가 남겨 둔 바로 그 포인터를 따라가 한 문자열을 다른 문자열, 즉 풀이에 대응시켰을 뿐입니다. 이것이 표제어 추출(lemmatization)로, 자연어 처리의 일꾼 같은 기법입니다. 표면형을 기본형으로 환원해 기계가 추적해야 할 서로 다른 대상의 수를 줄이는 것입니다. 7
그것은 실제적이고 유용한 종류의 앎입니다. 덕분에 게임은 사전 편찬자를 두지 않고도 아테네에서든 암스테르담에서든 “이 단어는 무엇인가?”에 답할 수 있습니다. 그러나 그것은 조회로서의 앎이지, 의미로서의 앎이 아닙니다. 풀이는 그것을 읽는 사람이 단어를 알아보리라는 약속입니다. 기계는 약속을 쥐고 있고, 뜻은 독자가 채웁니다.
어떤 언어들은 어떤 파서로도 들어 올릴 수 없는 천장에 부딪힙니다. 펼칠 데이터가 애초에 없기 때문입니다. 헝가리어 항목은 어원과 번역 표만 있고 정의 문구는 전혀 없는 경우가 흔해서, 완벽한 판독기라도 빈손으로 돌아옵니다. 가장 어려운 사례들은 언어학이 가장 어려운 곳에 몰려 있습니다. 거대한 패러다임을 낳는 핀란드어와 헝가리어 같은 교착어, 그리고 애초에 공동체의 적용 범위가 얇은 키릴 문자와 그리스 문자입니다. 그리스어는 15%에서 57%로 올라갔습니다. 그것이 독일어의 92%에 한참 못 미치는 것은 코드가 아니라 원천 자료에 관한 사실입니다. 6