1. Introduction
- NLP를 공부하기 위해선, 문장이 어떻게 이루어져 있는지, 문장에 대한 분석을 할 줄 알아야 한다.
- 그 분석 방법 중 parsing에 포커싱을 두고 있다.
- Parsing은 크게 두가지로 나뉜다.
2. Parsing
- 한국어 같은 경우, Constituency Parsing보단, Dependency Parsing이 더 유리하다고 한다.
2.1. Constituency Parsing
- Consitituency parsing은 문장을 구성하고 있는 각 phrase를 파악하여 문장을 분석하는 방식이다.
- 우리가 알고있는, 각 단어를 품사로 나타낼 수 있고, 그 단어들이 모이면, 명사구 등등으로 표현이 가능해진다.
- 이 구들이 모여서, 문장을 이루게 된다.
- 이걸 백트래킹하여 각 단어들도 분리가 가능하다.(마치 우리가 영어 문장을 해석하는 것처럼)
2.2. Dependency Parsing
- Dependency Parsing은 문장에 존재하는 단어 간 관계를 파악하여 문장을 분석하는 방식이다.
- 이는 문장을 이루는 단어끼리 서로 영향을 끼치는 무언가가 있다라는 가정하에 출발한다.
- 영향을 끼치는 것에서 더 나아가, 의존 관계로 표현이 가능할 것이다.
- 수식을 하는 단어를 head or governor 라고 하고, 수식을 받는 단어를 dependent, modifier이라고 한다.
- 간단히 생각하면, the(dependent)는 ball(head)이 있어야지만 사용이 가능하다.
3. Parsing이 왜 필요해?
- 약간 한가지 의문이 들것이다. 굳이 parsing이 필요할까?
- 그 이유는, 문장의 의미를 보다 정확하게 파악을 해야, 최대한 정확하게 답을 할 수 있기 때문이다.
- 강의에선 2가지 ambiguity를 예를 들며, 필요성을 강조하고 있다.
- 이에 대해 함께 알아가 보자.
3.1. Phrase Attachment Ambiguity
- 위의 문장은 from space가 어떤 단어를 수식하는지에 따라 의미가 달라진다.
- 즉, 형용사구, 동사구, 전치사구 등이 어떤 단어를 수식하는지에 따라 의미가 달라지게 된다는 것이다.
- 한국어는 조사라는 강력한 문법이 존재하기에, 해당 phrase attachment ambiguity가 덜 하다.
3.2. Coordination Attachment Ambiguity
- Coordination scope ambiguity는 형용사구, 동사구, 전치사구 등의 구들이 어떤 단어를 수식하는지,
- 그 범위에 따라 달라지는 ambiguity를 말한다.
- 위의 두 문장 같은 경우, Fred Gregory를 수식하는 범위에 따라서 의미가 변하는 것을 볼 수 있다.
- 이렇게 인간은 소통을 할 때, 복잡한 의미를 내포하기 위해 많은 단어들을 함께 사용하게 된다.
- 듣는 이는 문장 안의 어떠한 단어가 어느 부분과 연관성이 있는지 생각하면서 들어야 한다.
- 즉, 이와 마찬가지로 모델도 인간이 생각하면서 듣는 이 부분을 이해할 필요가 있는 것이다.
- 그렇기에 parsing에 대해서 알아야 한다는 것이다.
4. Dependency Grammer and Treebanks
- Dependency parsing은 Sequence와 Tree 2가지 형태로 표현이 가능하다.
- 우선 모든 단어가 dependent가 되어야 한다.
- 근데, hit은 상위 head라서, dependent가 될 수 없다.
- 따라서, ROOT라는 가상의 노드를 추가하여 hit의 head가 되어준다.
- 화살표는 무조건 head --> dependent로 향해야 한다.
- 화살표 위 표시는 단어간 dependency를 의미한다.
- 화살표는 절대 순환해선 안된다.
4.1. Dependency Conditioning Preferences
- 이러한 Dependency Parsing은 보편적으로 다음과 같은 특징을 가지고 있다.
"""
i) Bilexical affinities : 두 단어 사이의 실제 의미가 드러나는 관계 (discussions --> issues)
ii) Dependency distance : 주로 가까운 위치에서 dependent 관계가 형성됨
iii) intervening material: 마침표, 세미콜론과 같은 구두점을 넘어 dependent한 관계가 형성되진 않음
iv) Valency of heads : head의 문장 내에서 결합하는 문장 구성 성분의 수를 고려
"""
5. Methods of Dependency Parsing
- Dependency parsing을 하기위한 방법으론 4가지 정도 존재한다고 한다
i) Dynamic programming
ii) Graph algorithms : 가능한 dependent한 관계를 모두 고려한 뒤 가장 확률이 높은 트리 선택
iii) Constraint Satisfaction
iv) Transition-based parsing : 두 단어의 dependent 여부를 순서대로 결정하여 점진적으로 트리 구성
- 강의에선 Transition-based parsing에 대해서 구체적으로 다뤘기에, 이에 대해 알아보자.
5.1. Trainsition-based parsing
- 글로이해하는 것보단 영상으로 이해하는게 더 좋다고 생각하여, 유튜브 링크남깁니다.
https://www.youtube.com/watch?v=sIYGbz8LztY
'DS Study > CS 224n(NLP)' 카테고리의 다른 글
[CS 224n] [5] Recurrent Neural Networks (Lecture 5) (0) | 2025.03.30 |
---|---|
[CS 224n] [3] Backpropagation and Neural Network Basics (생략) (0) | 2025.03.30 |
[CS 224n] [2] Word Vectors and Language Models(Lecture 2) (1) | 2025.03.30 |
[CS 224n] [1] Intro & Word Vectors (0) | 2025.03.29 |