brunch

You can make anything
by writing

C.S.Lewis

by 사오 김 Jul 02. 2023

6 - 언어 변화 실험 구상

단순 표현과 복합 표현에 대하여

에스페란토어는 ‘짧다’를 mal-longa(‘un-long')라는 복합 형식으로 표현하고,

 ‘춥다’를 mal-varma(‘un-warm')라고 또한 복합 형식으로 표현하는데,

나는 이것을 보고 참 ‘자연언어스럽지 않다’라는 느낌을 받은 적이 있다.


내가 아는 대부분의 자연언어는 ’짧다‘나 ’춥다‘ 정도로 자주 쓰는 개념이라면 ’길다‘나 ’따뜻하다‘를 참조하지 않는 자기만의 표현을 할당하기 때문이다.


영문 위키백과 Ithkuil 문서에서 발췌. 2011년 버전이라 한다.

이쓰쿠일(Ithkuil)어는 더욱 자연언어스럽지 않다.

가족구성원이라는 이유로 ‘아빠, 아들, 엄마, 딸, 부모, 자식’ 모든 단어에 ‘-mm'이라는 부분이 공통되게 존재하고, 각 단어의 의미는 처음에 나오는 모음 하나로만 변별된다.  (이쓰쿠일 문법은 아주 복잡해 보이는데... 나는 이쓰쿠일을 공부해 본 적이 없어서 사실 이렇게 말하는 게 맞는 건지는 잘 모르겠다.)


이런 인공 언어를 인공지능에게 입력해 주고 자연언어가 처하는 것과 비슷한 환경의 압력을 주면 점차 자연언어와 비슷한 모습으로 바뀌어 갈까?




언어가 어떤 정보를 표현할 때 취할 수 있는 방법은 크게 나누어 두 가지가 있다.

단순(simplex)과 복합(complex)이다.


단순이란 표현하고자 하는 정보를 하나의 형태소 또는 하나의 단어로 나타내는 것이다.

(원래 simplex는 형태론의 맥락에서 단형태소 단어 즉 단일어를 부르는 이름이지만 이 글에서는 비유적으로 통사론 맥락에서 여러 단어의 조합이 아닌 한 단어가 쓰이는 상황까지 확장해서 표현해 본다.)


복합이란 표현하고자 하는 정보를 여러 단위로 나누어 여러 개의 형태소 또는 여러 개의 단어의 결합으로 나타내는 것이다.


같은(~거의 같은) 정보라도 언어마다 어느 쪽을 택할지는 다르다.

국어의 '죽이다'는 '죽다'와 사동접미사가 결합된 복합(complex) 표현인 반면

영어의 'kill'은 단순(simplex) 표현이다.


그러나 언어가 어떤 정보를 단순하게 표현할지 복합적으로 표현할지가 완전히 무작위적으로 결정되는 것은 아니다.


우선 어느 언어이든지 고빈도로 사용하는 정보라면 단순하게 표현하는 경향이 강하다.

당초에 복합 표현으로 만들어졌던 것도 매우 자주 덩어리지어져 사용되다 보면 결국 내부 구조가 무너져 단순 표현으로 바뀌어 버리기도 한다.


현대국어 '돼지'에서는 형태소를 식별해 낼 수 없지만, 이 말은 아래와 같은 변화 과정을 거쳤다.

*도ㅌ.ㅣ아지 (돝-ㅇ.ㅣ-아지, '돼지의 새끼') >  되아지 > 돼지


괴-앙이 /koj-/ > 고양이

'괴'가 '고양이'에 밀려 도태된 결과이기도 하지만 하여튼 이제는 접미사 '-앙이'를 식별해 낼 수 없다.


'Goodbye'에서도 비슷한 일이 일어났다고들 한다.



반면 평소에 사용할 일이 거의 없는 정보라면 거의 반드시 복합 표현을 사용하여 표현하게 된다.

https://blog.naver.com/ks1127zzang/222712441175


이 글에서 예로 들었던 "어제 나는 맥아더 동상이 하얀 치마를 입고 코딱지를 후비는 모습을 나의 애인의 남자 친구와 함께 보고 희열을 느꼈다." 같은 정보를 하나의 단어로 표현하는 언어는 없을 것이다.





(스스로 구현은 못 하겠지만) 재미있어 보이는 실험 구상

https://youtu.be/Yr_nRnqeDp0


이쓰쿠일(Ithkuil)처럼 최대한 복합 표현을 추구하는 '도서관 언어'에 가까운 인공언어를 만든 뒤,


나 같은 평범한 한국인이 일상에서 사용하는 말들로부터

최대한 대표성있는 코퍼스 샘플을 구축해서,

그 안에 들어 있는 문장을 모두 해당 인공 언어('도서관 언어')로 번역한다.

(사실 이 작업이 가장 어렵고 힘들 것 같다. 어느 정도의 태깅 작업도 반드시 필요할 것이다.)


이제 인공지능 A와 B를 여럿 준비하여 쌍쌍이 묶는다.


'도서관 언어'로 만들어진 문장들을 인공지능 A에게 준다.

인공지능 A는 인공지능 B에게 이 문장을 하나씩 전달하는데,

인공지능 A가 발송시킨 문장과 인공지능 B가 수신하는 문장 사이에는 반드시 랜덤한 차이가 생긴다.  즉 A가 B에게 전달하는 메시지에는 왜곡이 가해진다.


A는 그러한 왜곡을 회피하기 위해 자신이 받은 문장을 자유롭게 변형하여 B에게 준다.


단, A는 말을 길게 할수록 페널티를 받는다.


어떤 A가 원본 문장을 그대로 발송한다 하더라도, 다른 A가 원본 문장보다 짧은 문장을 B에게 발송했다면 원본 문장을 그대로 발송한 A에게는 페널티를 준다.


인공지능 A가 왜곡을 회피하는 동시에 페널티를 피하기 위해 취하는 전략을 '유전자'로 설정한다.


왜곡을 우회하여 메시지 소실을 막는 전략으로는 같은 문자열/단어/문장을 반복하는 것이 있고,

(동사와 논항의 인칭/수/성 일치나 명사와 관사/형용사의 성/수/격 일치 등이 이러한 동기로 발생했을지도 모른다.)


문장의 길이를 최소화하여 페널티를 피하는 전략으로는 복원 가능한 정보를 생략하는 것이 있다.



이제 A에게서 왜곡을 거쳐 전달된 문장을 수신한 인공지능 B는 A가 처음에 인간에게서 받았을 원본 메시지를 복원해 본다. (아마 형태소 태그도 복원하도록 해야 할 것이다.)

A가 발송한 문장을 복원하는 게 아니다.

A는 자기가 받은 문장을 변형하여 B에게 발송하였으므로, A가 변형하기 전 상태의 문장을 추측하는 것이다.


B에게는 A가 사용하는 전략에 대한 역방향 전략을 유전자로 부여해야 할 것이다.

즉 반복됐을 것으로 보이는 말은 없애고, 생략됐을 것으로 보이는 말은 채워넣어야 한다.

또, 메시지가 A로부터 B에게 전달되는 과정에서 랜덤하게 왜곡이 가해졌음을 고려하여 부분부분을 랜덤하게 바꾸어 보는 전략도 유전자로 넣어야 할 것이다.


B가 원본 메시지를 가깝게 복원하는 데 성공한 A-B 인공지능 페어들을 순서대로 골라 다음 세대를 만든다.


이를 반복하다 보면, A가 B에게 발송하는 문장의 모습은 자연언어의 그것과 아주 흡사해지지 않을까?


당초에 A가 입력받는 도서관 언어 문장은 복합 표현으로 덕지덕지 되어 있지만,

세대를 거듭하다 보면 어느새 A가 B에게 발송하는 문장은 아마도  

    고빈도 결합은 하나로 만들어 버리고 (즉 하나의 단어로 만들거나 하나의 형태소로 만들고)  

    고빈도 형태소/단어는 생략해 버리고  

    몇 가지 정보를 여기저기 잉여적으로 표시하는 등 ('일치' 등과 같이)  

자연언어와 비슷한 모습을 보일 거라 생각한다.


물론 의미나 상황 맥락 정보에 대한 접근이 없기 때문에 실제 자연언어의 변화와는 좀 다르겠지만, 만약 구현하여 관찰해 본다면 재미있을 것 같다.




+ 가장 문제적인 것 중 하나는 역시 메시지 왜곡이나 문장 길이에 따른 페널티를 어떻게 설계할 것인가 하는 것인데,

B가 원본 메시지를 복원해 낸 결과물을 실험자가 평가할 때 특정 단어에 가산점을 많이 주는 방식을 쓰면 어떨까 싶다.


예를 들어 원본 인공언어에서

엄마: m-a(parent-female), 아빠: m-i(parent-male)이라면,

원본 문장에 있던 단어가 엄마인지 아빠인지 B가 매번 정확히 구별해 냈는가의 여부를 평가에 크게 반영하는 것이다.



브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari