Sentence Structure
Context-Free Grammars(CFGs)
문장의 구조를 단어가 결합된 constituency들의 집합으로 봄.
Dependency Structure
문장의 관계를 단어 사이의 dependency로 봄
Why do we need sentence structure?
말하는 사람은 의미 전달을 위해 많은 단어 또는 더 큰 unit을 조합하여 의사소통을 진행, 듣는 사람은 단어 앞에 어떤 단어가 attach(modifer) 되는지를 파악해야함. 또한 NLP 관점에서 모델이 의미를 제대로 파악하기 위해서는 문장의 구조를 이해해야함. 문장 구조의 이해에 따라 다양한 의미 해석이 가능해지기 때문에 정확한 구조 파악은 적절한 의미전달에 필수적이다.
Dependency Grammar and Dependency Sturcture
문장 사이의 depencey 관계를 arrow로 표현 할 수 있음. 이를 표현하면 tree의 형태를 지닌다.
Dependency Grammar
(1) Structure
- Seqence 와 Tree 의 두 가지 형태로 표현이 가능하다.
(왼) 수식하는 단어를 화살표로 표현하는 방식 (오) 트리형태로 parsing output 을 도출하는 방식
규칙은 아래와 같다 :
- 화살표는 수식을 받는 단어 (head) 에서 수식을 하는 단어 (dependent) 로 향한다.
- Ex ) The ball에서 the 는 수식하는 단어, ball 은 수식 받는 단어이므로 ball 에서 the 방향으로 화살표
- 화살표 위의 label 은 단어간 문법적 관계 (dependency) 를 의미하며 화살표는 순환하지 않는다 → Tree 형태로 표현할 수 있는 이유
- 어떠한 단어의 수식도 받지 않는 단어는 가상의 노드인 ROOT 의 dependent 로 만들어 모든 단어가 최소 1개 노드의 dependent 가 되도록 한다.
특징은 아래와 같다 :
- Bilexical affinities : 두 단어 사이의 실제 의미가 드러나는 관계 ( discussion → issue 는 그럴듯한 관계임 )
- Dependency distance : dependency 의 거리를 의미하며 주로 가까운 위치에서 dependent 관계가 형성됨
- Intervening material : 마침표, 세미클론같은 구두점을 넘어 dependent 한 관계가 형성되지는 않음
- valency of heads : head 의 좌우측에 몇개의 dependents 를 가질 것인가
Dependency Parsing
문장 내의 단어들이 서로 어떤 dependency를 갖는지 찾는 것. Root라는 가짜 word를 두어 parsing을 진행하는 것이 일반적.
일반적으로 다음 두개의 제한을 지님.
- Root는 오직 하나의 단어와 dependency를 지닌다.
- 순환 구조를 갖지 않는다.
parsing을 진행하면 dependency tree를 얻을 수 있다.
Dependency Parsing
- 문장의 전체적인 구성/구조 보다는 각 개별단어 간의 '의존관계' 또는 '수식관계' 와 같은 단어간 관계를 파악하는 것이 목적
- 한국어와 같은 자유 어순을 가지거나 문장 성분 생략이 가능한 언어에서 선호하는 방식
- 개별 단어 간의 관계를 파악하여 '화살표' 와 '라벨' 로 관계를 표시
- 수식받는 단어를 head 혹은 governor 라고 부르고, 수식하는 단어를 dependent 혹은 modifier 라고 부른다.
- nsubj, dobj, det 과 같은 레이블을 통해 개별 단어 사이의 수식관계를 표시한다.
핵심 : Constituency parsing 은 문장 구조를 파악하기 위한 방법, Dependency parsing 은 단어 간 관계를 파악하기 위한 방법
Dependency Parsing 이 필요한 이유
1. 인간은 작은 단어들을 큰 단어로 조합하면서 복잡한 아이디어를 표현하고 전달한다.
2. 문장의 의미를 보다 정확하게 파악하기 위하여, Parsing 을 통해 모호성을 없애자.
'✍️ STUDY > NLP' 카테고리의 다른 글
[cs224n] Lecture 5 - Language Models and Recurrent Neural Networks (1) | 2023.11.20 |
---|---|
[cs224n] Lecture3 - Backprop and Neural Networks (0) | 2023.11.19 |
[cs224n] Lecture2 - Neural Classifiers (0) | 2023.10.07 |
[cs224n] Lecture1 - Intro & Word Vectors (1) | 2023.10.06 |
[Text Mining] 감성분석 (1) | 2023.03.22 |