언어 및 언어학 연구에서는 단어가 실제로 어떻게 사용되는지에 대한 데이터, 특히 시간의 흐름에 따른 변화 데이터가 필요한 경우가 많습니다. 연구 자체도 중요하지만, 필요한 데이터를 손쉽게 제공해 주는 도구가 있다면 작업이 한결 수월해지겠죠. 구글 엔그램 뷰어(Google Ngram Viewer)는 구글 북스(Books)의 방대한 서고 전체에서 단어 사용 추이를 빠르게 파악할 수 있는 훌륭한 도구입니다.
이번 글에서는 구글 엔그램을 더 효과적으로 사용하는 방법을 소개합니다. 먼저 도구부터 간단히 살펴보겠습니다.
구글 엔그램 소개
구글은 출판된 언어 데이터를 다국어로 수집한 데이터베이스를 운영하고 있습니다. 방대한 양의 책을 일괄 스캔해 텍스트를 처리함으로써, 단어 빈도수를 기반으로 한 통계를 제공할 수 있게 된 것입니다.
구글 엔그램 뷰어 검색 도구를 이용하면 이 데이터를 직접 검색할 수 있습니다. 단어의 상대적인 인기도를 비교하면 시간에 따라 언어와 문화가 어떻게 변화했는지 마치 지도를 그리듯 추적해 볼 수 있습니다.
하지만 구글 엔그램 도구는 단순히 단어 빈도를 보여주는 데 그치지 않습니다. 그 활용법을 지금부터 하나씩 알아보겠습니다.
기본 검색 방법
고급 '기법'에 들어가기 전에, 기본 검색 방법부터 짚고 넘어가겠습니다. 구글 엔그램 페이지에서 검색창에 키워드를 입력하면 됩니다.
특정 단어의 모든 대소문자 조합을 포함하고 싶다면 'Case-Insensitive(대소문자 구분 없음)' 옵션에 체크하세요. 예를 들어 "Tech"와 "tech"가 모두 검색됩니다.
검색창 아래에서는 날짜 범위와 '스무딩(smoothing)' 같은 매개변수도 설정할 수 있습니다. 스무딩은 데이터에서 비정상적인 급등과 급락을 제거해 주는 기능입니다. 낮은 스무딩 값일수록 더 정밀한 결과를 보여주고, 높은 값일수록 장기적인 큰 흐름만 드러냅니다.
'코퍼스(Corpus)' 선택 방법
코퍼스란 엔그램 뷰어가 분석 대상으로 삼을 텍스트 집합을 의미합니다. 기본값인 'English'는 가벼운 탐색에는 무난하지만, 상당히 학술적인 성격을 띨 수 있습니다.
'English Fiction'은 일상 언어를 더 잘 반영합니다. 표준 'English' 코퍼스는 비픽션 비중이 높아 전문 용어가 많이 섞여 있을 가능성이 큽니다.
코퍼스 선택에 따른 깊이 있는 논의는 이 글의 범위를 벗어나지만, 구글에서는 어떤 코퍼스가 자신에게 맞는지 간략한 안내를 제공하고 있으니 참고하시기 바랍니다.
고급 검색 수행하기
검색어를 추가로 입력하면 복잡한 비교 검색을 만들 수 있습니다. 이때 각 검색어를 쉼표로 구분하면 됩니다.
엔그램 뷰어는 검색어들의 상대적 빈도를 하나의 그래프로 표시해 줍니다. 그래프의 선 위에 마우스를 올리면 정확한 데이터 포인트도 확인할 수 있습니다.
검색어에는 와일드카드로 별표(*)를 사용할 수도 있습니다. 예를 들어 "Bachelor of *"를 검색하면 다양한 학사 학위(Bachelor's degree) 관련 결과가 한꺼번에 반환됩니다.
한 단어의 모든 굴절형(inflection)을 찾고 싶다면 검색어 뒤에 "_INF" 수정자를 붙이세요.
하나의 단어에 여러 품사가 섞여 있는 경우에는 텍스트 연산자를 사용해 더 구체적으로 지정할 수 있습니다. 구글 데이터베이스에서 유효한 품사 태그는 다음과 같습니다.
- _ADJ_: 형용사(fast, large, smart)
- _ADV_: 부사(quickly, later, always)
- _PRON_: 대명사(their, it, we)
- _DET_: 한정사 또는 관사(a, an, the)
- _ADP_: 접두접사(adposition), 즉 전치사와 후치사
- _NUM_: 수사(first, second, fifth)
- _CONJ_: 접속사(and, nor, but)
- _PRT_: 불변화사(particle), 기타 단어 기능을 위한 포괄적이며 드물게 쓰이는 범주
이들 태그는 구(phrase) 단위로 결합할 수도 있습니다. 예를 들어 "_ADJ_ boy"를 검색하면 형용사와 "boy"가 함께 등장하는 단어 쌍들이 반환됩니다.
특정 검색어에 특정 품사를 지정하려면 단어 끝에 태그를 덧붙이면 됩니다. 예를 들어 뒤에 밑줄 없이 "water_VERB"처럼 입력합니다. 반대로 특정 단어의 모든 품사를 포함하고 싶다면 밑줄 뒤에 와일드카드 연산자를 사용하세요.
기능 변수, 조합, 의존 관계
기능 변수(functional variables)를 활용하면 단어의 기능이나 문장 내 위치를 기준으로 검색할 수 있습니다.
- _ROOT_: 문장 구문 트리(parse tree)의 루트(root)를 대체하는 플레이스홀더입니다. 보통 문장의 핵심 주어 또는 동사가 수식하는 단어를 가리킵니다.
- _START_: 문장의 시작을 나타냅니다. ("_START_ President Obama"는 "President Obama"로 시작하는 문장만 반환합니다.)
- _END_: 문장의 끝을 나타냅니다. ("_ADP_ _END_"는 전치사로 끝나는 문장을 반환합니다.)
검색어에 산술 연산자를 결합하면 단어 빈도 값을 대상으로 간단한 수학적 분석도 수행할 수 있습니다.
- +: 여러 표현식을 하나의 검색어로 합칩니다.
- -: 왼쪽 표현식에서 오른쪽 표현식을 빼서, 두 검색어의 상대적 사용률을 빠르게 비교할 수 있습니다.
- /: 왼쪽 표현식을 오른쪽 표현식으로 나눕니다.
- *: 표현식을 곱하여 빈도 차이가 큰 엔그램들을 비교합니다. 별표가 와일드카드 문자로 해석되지 않도록 전체 엔그램을 반드시 괄호로 묶어야 합니다.
- :(콜론): 왼쪽의 엔그램을 오른쪽에 지정한 코퍼스 내에서 검색합니다.
마지막으로 "=>" 연산자로 의존 관계(dependency)를 설정하면 단어 간의 언어적 관계까지 검색할 수 있습니다.
예를 들어 "car=>fast"는 "fast"가 문법적으로 "car"에 의존하거나 "car"를 수식하는 경우의 결과를 반환합니다. 이 기능 역시 앞서 소개한 고급 검색 연산자들과 자유롭게 조합할 수 있습니다.
결론
단어 사용 추이 검색은 학술적으로 폭넓게 활용될 수 있습니다. 필요한 정보를 빠르게 찾을 수 있는 방법 중 하나가 바로 구글의 엔그램 도구입니다. 다행히 이 도구는 기본 검색에만 머무르지 않고, 강력한 수정자를 적용해 원하는 정보를 정교하게 좁혀갈 수 있다는 점이 큰 장점입니다.
구글 엔그램의 이 모든 기능은 검색 엔진의 강력한 기반 기술이 있기에 가능한 것입니다. 구글 엔그램 도구의 기능이 인상적이셨나요? 아래 댓글로 여러분의 생각을 들려주세요!