앞서 2-6의 구 단위를 구분해내는 부분 구문 분석과 달리, 구문 분석(parsing) 과정에서는 문장에서 추출한 여러 개의 구 사이의 관계를 파악합니다. 구문 분석의 목적에 따라 구성 구문 분석 또는 의존 구문 분석 방식을 사용합니다. 아래에서 두 가지 방식에 대해 각각 살펴보겠습니다.
구성 구문 분석
구성 구문 분석(constituent parsing)은 문장 내의 문법 구성요소끼리 어떻게 계층적으로 관련되어 있는지를 분석하는 방식입니다. 문장의 구조에 집중하여 성분으로 나눠 분석하는 방식으로, 영어나 중국어처럼 고정된 어순을 갖는 언어에서 주로 사용됩니다. 문장을 이루는 각 단어들은 각자 문법적인 역할을 담당하고 있고, 동시에 더 큰 구문과 문장의 구성 요소로 작동합니다. 문장의 계층 구조를 표현하기 위해, 구성 구문 분석은 주로 구문 분석 트리(parse tree)의 형태로 보여줍니다.
앞서 2-6에서 살펴봤던 예문인 ‘Do not count the eggs before they hatch’ 문장을 구성 구문 분석을 진행하면 아래의 구문 분석 트리를 얻을 수 있습니다.
각 요소를 조금 더 자세하게 풀면 아래 그림처럼 나타낼 수 있습니다. 문장의 각 단어는 각자 문법적인 역할을 수행하면서, 더 큰 단위인 구문과 문장을 구성하고 있습니다.
이러한 영어 문장에 대한 구성 구문 분석은 아래에 링크한 카네기 멜론 대학교의 구문 분석기를 통해 직접 작성한 문장을 분석해볼 수 있습니다.
의존 구문 분석
문장의 구성요소간의 관계를 나타내는 또 다른 방법으로는 의존 구문 분석(dependency parsing)이 있습니다. 문장의 구조보다는 각 단어끼리의 수식관계나 의존성을 바탕으로 문장 구조를 분석하는 방법입니다. 한국어처럼 어순이 비교적 자유로운 언어에서 주로 사용됩니다. 단어간에 화살표를 통해 어떤 단어가 수식을 받고, 어떤 단어를 수식해주는지를 표현합니다.
의존 구문 분석 방식으로 앞선 예시 문장, ‘Do not count the eggs before they hatch’를 분석해보면 아래와 같이 표현됩니다.
의존 구문 분석 역시 아래 웹페이지에서 직접 문장을 작성하고 구문 분석기를 실행해볼 수 있습니다.
이전 글 읽기
다음 글 읽기