728x90

Sentence Structure
- 문장의 구조를 파악하는 방법은 총 2가지가 있다.
- Phrase-structure grammar(context-free grammar, CFG)
- dependency structure grammar
- 문장 구조를 제대로 파악해야지 문장의 의미를 정확하게 이해할 수 있다.
Phrase-structure grammar
- 문장을 unit으로 구성
- 각 unit 들을 progressively nest

Dependency structure grammar
- 한 단어가 어떤 다른 단어에 의존적인지 나타내는 방식

Treebank
- 사람이 직접 문장들의 dependency를 파악해서 dependency structure 를 구성한 데이터셋
- 영어 뿐만 아니라, 다양한 언어들에 대해서 생성
Dependency parser
- 다양한 method 가 존재한다.
- dynamic programming
- graph algorithm
- constraint satisfaction
- transition-based parsing
Greedy transition-based parsing
- 초기 상태
- [root] 만 요소로 보유하고 있는 stack
- 문장 전체를 구성하는 단어들로 구성된 buffer
- 결과를 저장하는 A
- example : "I ate fish" 라는 문장으로 transition-based parsing 수행


- 종료 조건
- stack 에 [root] 만 원소로 남는 경우
- buffer 가 비어있는 경우
- 다양한 규칙을 기반으로 dependency 를 찾아내는데, 이러한 규칙들에는 문제가 있다.
- 종류가 정말 많지만, 실제로 사용되는 것은 매우 적다. (sparse)
- 관계를 계산하는데 비용이 많이 든다.
- 그러므로, neural dependency parser를 사용해보자!
Neural Dependency Parser
- neural net 을 이용해서 문장의 dependency 를 파악하는 방법
- Maltparser
- 다음 action(shift, left/right arc)을 어떻게 취해야 하는지 softmax classifier에 의해서 결정한다.
- state-of-art 의 성능을 내지는 못했지만, linear time parsing을 제공한다는 점에서 의미가 있다.
- C&M parser
- Maltparser 와 유사항 방식으로 동작한다.
- 단어와 함께, POS(Part-of-Speech), dependency-label을 input 으로 제공한다.
- 좋은 성능과 빠른 처리 속도를 제공한다.

- neural dependency parser evaluation
- unlabeled attachment score (UAS) : arc(dependency) 만 일치하는지 확인한다. label은 별도로 확인하지 않는다.
- labeled attachment score (LAS) : arc 와 label 모두 일치하는지 확인한다.
728x90
'대학원 이야기 > CS224N : NLP with Deep Learning' 카테고리의 다른 글
[CS224N] Lecture 7 - Vanishing Gradients, Fancy RNNs (1) | 2020.08.23 |
---|---|
[CS224N] Lecture 6 - Language Models and RNNs (0) | 2020.08.23 |
[CS224N] Lecture 3 - Neural Networks (0) | 2020.08.12 |
[CS224N] Lecture 2 - Word Vectors and Word Senses (0) | 2020.08.11 |
[CS224N] Lecture 1 - Introduction and Word Vectors (0) | 2020.08.10 |
댓글