Skip to content

Latest commit

 

History

History
49 lines (28 loc) · 5.18 KB

parsetree.md

File metadata and controls

49 lines (28 loc) · 5.18 KB

Parse Tree

parse tree, parsing tree, derivation tree, concrete syntax tree는 올바른 문장에 대해 트리 구조로 나타낸 것을 말한다. parse라는 단어는 주로 전산 언어학에서 사용된다. syntax tree가 더 종종 사용된다.

파스 트리는 입력 언어의 문법을 구체적으로 반영하는데 이것은 컴퓨터 프로그래밍에서 쓰이는 추상 구문 트리와 확실하게 구분을 지어준다. 문법을 가르치기 위해 사용되는 Reed-Kellogg의 문장 다이어 그램과 달리 파스 트리는 다른 종류의 구성요소를 별개의 기호를 사용하지 않는다.

파스 트리는 주로 구성 요소들의 constituency grammars 관계나 독립적인 문법의 독립 관계를 기반으로 만들어진다. 파스 트리는 프로그래밍 언어가 해설될 때 같이 문장이나 자연어를 위해 생성된다.

관련된 개념으로 transforamtional generative 문법에서 아용되는 구분 마커, P-marker가 있다. 구문 마커는 구문 구조로 표시된 언어 표현이다. 이것은 트리의 형식으로 표현되거나 대괄호로 묶인 표현으로 표현될 수 있다. 구문 마커는 구문 구조 규칙을 적용하여 생성되고 그 자체는 추가적인 변환 규칙의 적용 대상이다. 구문적으로 모호한 문장은 파스 포레스트라고 한다.

구조 기반 파스 트리

구 문법에서 구조 기반 트리는 단말 노드와 비단말 노드를 구분한다. 안쪽에 있는 노드는 비단말 노드로 분류하고 리프 노드들은 단말 노드로 분류한다. 아래의 이미지는 구 구조 기반 트리를 나타내며 john hit the ball 이라는 문장의 구문 구조를 나타낸다.

파스 트리는 s로 시작하고 각각의 리프노드(john, hit, the, ball)로 종료된다.

  • S는 문장(sentence), 이 예시의 최상위 레벨 구조
  • NP는 명사구(noun pharase), 가장 첫 번째(가장 왼쪽의) NP, 명사 john는 문장에서 주어 역할을 한다. 두 번째 NP는 문장의 목적어다
  • VP는 동사구(verb phrase) 술어로 사용된다.
  • V는 동사(verb) 이 경우에서는 타동사인 hit다.
  • D는 관사(deterniner), 정관사인 the다.
  • N은 명사(noun)이다.

트리의 각 노드는 루트 노드나 브랜치 노드나 리프 노드중 하나다. 루트 노드는 상위에 브랜치를 하나도 가지고 있지 않은 노드이다. 문장안에서, 루트 노드는 오직 하나이다. 브랜치 노드는 두 개 이상의 딸 노드들과 연결하는 엄마노드다. 리프 노드는 다른 노드를 지배하지 않는 말단 노드며 S는 루트노드이고, NP와 VP는 브랜치 노드, john hit the ball (N V D N)은 모두 리프노드다. 리프 노드들은 문장의 어휘 토큰이며 엄마 노드는 이것의 하위 브랜치에 연결된 적어도 하나의 다른 노드를 가지는 노드이다. 예를들어 s는 n과 vp 모두의 부모다. 딸 노드는 사우이 브랜치로 직접 연결된 적어도 한개의 노드를 가진 노드며 예시에서 살펴보면 hit은 v의 딸 노드이며 부모와 자식이라는 용어는 종종 이러한 관계에서 사용된다.

의존성 기반 파스트리

의존 문법의 의존성 기반 트리는 모든 노드를 말단 노드로 본다. 이것은 그들은 단말 노드와 비단말 노드의 분류를 인정하지 않는다는 것을 뜻한다. 더 적은 수의 노드를 포함하기 때문에 대체적으로 구 구조 기반 파스트리보다 간단하다. 위의 예문의 의존성 기반 파스트리는 다음과 같다.

이 파스 트리는 구 구조 기반 파스트리에 존재하는 구분류 S NP VP등이 없는데 구성 구조는 같이 인정된다. 트리의 완전 하위 트리는 모두 구성요소다.

따라서 이 의존성 기반 파스트리는 구 구조 기반 파스트리와 같이 john과 목적어 명사구 the ball을 구성 요소로 인정한다.

구와 의존성을 구별하는 것은 광범위 하다, 구 기반 파스트리와 관련된 추가적인 구문 구조가 필요하거나 유익한지에 여부는 논재으이 여지가 있다.

구문 마커

구문 마커나 P-marker는 Noam Chomsky등에 만들어진 transformational generative grammer에서 소개되었다. 문장의 깊은 구조를 나타내는 구문 마커는 구문 구조 규칙을 적용해서 만들어진다. 이것은 추가 변환을 거칠수도 있다.

구문 마커는 트리 형식으로 표현된다.(위 섹션에서 구 구문 기반 파스트리와 같이) 하지만 종종 메모리 공간을 덜 차지하는 대괄호식 형태로 표현된다 예를 들어 위의 구 기반 트리를 따는 대괄호식 표현은 다음과 같다.

트리와 마찬가지로 표현식의 정확한 구성과 표시된 세부 사항의 양은 적용된 이론과 쿼리 작성자가 설명하고자 하는 요점에 따라 달라질 수 있다.

https://ko.wikipedia.org/wiki/%ED%8C%8C%EC%8A%A4_%ED%8A%B8%EB%A6%AC