|
출처: 시하늘 원문보기 글쓴이: 흐르는 물/정호순
말뭉치는 우선은 구축하는 것이 문제겠지만, 그에 못지않게 중요한 문제, 때론 더 큰 문제는 이를 어떻게 활용할 수 있는가이다. 이 글에서는 논의의 주요 소재로 ‘용례색인’(concordance) 및 관련 기법을 통해 어휘의 분포적 특징을 포착하는 방법과 기술의 발전을 조감해 봄으로써 언어학자들이 어떻게, 그리고 어느 정도까지 그런 기술의 변화에 대처해야 할 것인가를 생각해 보기로 한다.
용례색인 및 관련 후속 기법
말뭉치 언어학에서는 말뭉치에서 해당 언어의 패턴을 찾아내는 것이 가장 주요한 목표라고 할 수 있다. 따라서 검색과 관련하여 떠올리게 되는 의문으로 최소한 다음 두 가지를 들 수 있을 것이다.
패턴을 찾는 방법/절차는 무엇인가?
찾아낸 패턴의 모습이 어떠하며, 패턴의 활용 방법은 무엇인가?
퍼스(J. Firth)는 일찍이 말뭉치 언어학의 토대를 마련하고 큰 방향을 제시한 학자로 평가받는다. 그는 실제 텍스트 자료에서 대상 어휘가 쓰인 국지적 맥락이 해당 어휘의 의미적 특성을 파악하는 데 직접적으로 활용될 수 있다는 가설을 설정하였다. 후대에 많이 인용이 되는 다음과 같은 언급을 살펴보자.
“주변에 나오는 단어들을 보면 대상 단어를 파악할 수 있다.” -퍼스, 1957
위 가설은 일견 명확해 보이기는 하지만 실제 제시된 방향으로 연구를 진행해 나가고자 할 때는 여러 추가적인 의문이 제기될 수 있다. 예를 들어, 위의 가설을 구체화하기 위해서는 다음과 같은 세부적인 질문으로 쪼개어 생각해 볼 수 있다.
‘주변/맥락’이란? ‘보’는 방법은? ‘파악되는’ 것은?
위와 같은 질문을 염두에 두고 이 글에서는 퍼스의 가설을 구체화한 접근법 세 가지를 차례로 살펴본다. 첫 번째는 용례색인을 통한 수작업 분석, 두 번째는 워드스케치를 이용한 분포적 특성 요약 분석, 그리고 세 번째는 워드임베딩을 통한 워드벡터 산출 방식이다.
용례색인을 통한 수작업 분석
“코퍼스적 접근의 중심”(매케너리&하디 2013/2018)이라고까지 언급되는 용례색인 기법 및 용례색인기(concordancer)는 초기부터 지금까지 말뭉치 이용 도구의 핵심 기능이다. 말뭉치 도구 대부분이 용례색인 기능을 포함하고 있고 특히 사전편찬 등의 작업에서 광범위하게 활용되어 오고 있다.
▲ [그림 1] 용례색인의 예
어휘 연계성 측정 기반 워드스케치
검색어가 주어지면 그 맥락에 나오는 주변어들을 용례별로 찾아서 보여 주는 것이 용례색인기가 하는 일이었다. 그렇다면 주변어들의 분포적 특징이 무엇인지를 정리해 주는 더 효율적인 방법이 있는지를 찾아보는 것이 활용 기술 발전을 위한 당면한 문제가 될 것이다.
용례별로 검색어 주변에 포진한 단어들을 살펴보면 어떤 것은 검색어와 상관성이 더 있는 것으로 느껴지고 어떤 것은 별로 상관이 없어 보이는 등, 검색어와 주변어 사이의 상관성이 주변어별로 다르다는 것을 느낄 수 있을 것이다. 따라서 이러한 차이를 구체화해 볼 수 있는 한 가지 방법은 주변어 중에서도 검색어와 특징적으로, 달리 말해서 ‘전형적’으로 잘 어울리는 단어들을 체계적으로 선별해 내는 것이다. ‘전형적’으로 어울린다는 말을 ‘기대보다 많이 나온다’는 말로 바꾸어 보자. 그러면 ‘전형성’(typicality)을 숫자로 변환시킬 가능성이 생긴다. 검색어 X 주변에 어떤 어휘 Y가 기대보다 자주 나타난다면 그러한 특징을 X의 맥락정보로 활용하는 것이다. 이는 곧 연어(collocation)관계 발견에 활용되는 개념이기도 하다. 다음 그림을 보면 강아지 주변에 특징적으로 나타나는 어휘들이 제시되어 있다.
▲ [그림 2] ‘강아지’ 워드스케치(WordSketch, Kilgarriff et al. 2004)
그런데 말뭉치로부터 언어의 통사-의미적 패턴을 찾아가는 작업이 여기에서 멈추는 것은 아니다. 예를 들어 워드스케치의 한계가 무엇인가를 생각해 볼 수 있다. 용례색인이나 워드스케치는 검색어 중심의 접근법이라 할 수 있다. 검색어가 주어지면 해당 검색어의 워드스케치를 보여 주는 방식이다. 따라서 다음과 같은 질문을 던져볼 수 있다. 특정 워드스케치를 보고 해당 검색어가 무엇인지를 찾아낼 수는 없을까? 또는 워드스케치끼리 상호 비교가 가능할까? 최근에 개발된 워드벡터는 이런 문제를 본격적으로 다루고 있다.
워드임베딩을 통한 워드벡터 구축
자연언어 처리 능력이 비약적으로 발전하게 된 토대 중 하나가 워드임베딩 기법을 이용하여 구축된 워드벡터다. 큰 말뭉치를 입력 자료로 하고 신경망 학습을 거치면 말뭉치에 사용된 어휘별로 벡터 값이 할당된다. 벡터는 미리 지정된 길이대로 구성되므로 모든 어휘는 똑같은 길이의 벡터가 된다. 겉으로 보기엔 단순한 수의 연쇄일 뿐인 워드벡터가 각광을 받게 된 것은 상당 수준으로 정확하게 해당 어휘의 의미적 특성을 담고 있다는 것이 입증되었기 때문이다. 그러한 벡터 값 할당에 재료가 되는 것이 어휘별로 그 주변에 나오는 단어들이다. 따라서 워드임베딩은 ‘주변’ 개념의 벡터화로 볼 수 있다. 수리-물리학적 개념인 벡터공간 이론은 이미 잘 확립되어 있고, 벡터를 이용한 여러 다양한 계산법이 밝혀져 있다.
‘의미’를 전혀 모르는 상태에서 이처럼 의미를 아는 듯이 벡터공간 내에 개별 어휘의 좌표를 지정해 줄 수 있다는 것이 워드임베딩의 매력으로, 공개 당시부터 경쟁 시스템을 압도하는 성능으로 자연언어처리 분야에 지각 변동을 일으켰다. 아래 예는 코사인 유사도(Cosine Similarity, 0-1) 계산 방식으로 ‘전혀’에 근접한 워드벡터를 찾아내어 가장 근접한 것부터 10개를 찾아 제시해 놓은 것이다.
▲ [표 1] ‘전혀_01’의 최상위 유사 어휘 목록(최재웅 2018: 325)
문법적으로 흥미로워 언어학에서 많이 논의되는 부정극어 ‘전혀’에 근접해 있는 어휘 벡터들이 각각 해당 어휘의 의미-분포적 특성과 유사하다는 점을 보이고 있다.
마무리
이 글에서 논한 세 가지 말뭉치 분석 기법의 공통점은 퍼스의 분포 가설을 구체적인 방식으로 반영하거나 구현하고 있다는 점이다.
반면 그 셋 사이의 차이점도 작지 않다. 자료 가공의 차원에서는 ‘용례색인<워드스케치<워드벡터’ 순으로 워드벡터가 난이도 면에서도 가장 높고 추상성 면에서도 가장 복잡한 과정을 거치며 그 자체만으로는 직관적인 이해가 불가능하다. 또한 결과물 활용도 면에서는 ‘워드벡터<워드스케치<용례색인’ 순으로 워드벡터의 활용 가능성이 탁월하다. 특히 워드벡터 방식은 벡터를 다룰 수 있는 수많은 도구들을 활용할 수 있다는 점이 큰 강점이다. 이는 의미를 동일 차원의 벡터로 변환하기 때문에 가능하다. 즉 어휘별 통사-의미적인 패턴을 벡터로 수렴시킴으로서 다양한 방식의 ‘의미 다루기’가 가능해졌다. 이러한 워드임베딩 기법은 최근에 소개된 BERT, GPT 등 트랜스포머(transformer) 모델을 통해 또 한 단계의 진전을 이루어 냈다. 그리고 이러한 기법을 활용하기 위해서는 파이선이나 아르(R)와 같은 스크립트 방식의 프로그래밍 언어를 이해하고 사용할 줄 알아야 한다. 더글러스 비버(D.Biber)가 주장하였듯이 말뭉치를 제대로 분석하기 위해서는 언어학자들도 “프로그래밍 언어를 배워 활용할 수 있어”야 한다.
함께 보면 좋은 기사
뭉치가 알려주는 국어 말뭉치
말뭉치 활용 도구
문장 다듬기
목적어와 서술어는 호응해야 해요!
아 다르고 어 다른 우리말
공헌과 헌신, 같은 듯 다름 쓰임새
문장 다듬기
뜻은 중복되지 않게 써요!