[CS224N]Lecture 4 - Syntactic Structure and Dependency Parsing

 

노션으로 보시는 게 더 편하실 것 같아요 ㅎ.ㅎ

https://ggosunnae.notion.site/Lecture-4-Syntactic-Structure-and-Dependency-Parsing-0d6f321f628444f3a075d6f7abb6aba5

------------------------------------------------------------

 

학습 목표

  1. Syntactic Structure: Consistency and Dependency (30 mins)
  2. Dependency Grammar and Treebanks (15 mins)
  3. Transition-based dependency parsing (15 mins)
  4. Neural dependency parsing (20 mins)

Key Learnings:

  • Explicit linguistic structure: 명시적인 언어 구조는 문장의 구문 분석을 통해 드러나는 문법적 구조를 의미.
  • Neural net can decide it: 신경망이 문장의 구문 구조를 결정할 수 있다는 것은,

딥러닝 모델이 문장의 의존 관계를 학습하고 예측할 수 있음

Constituency = phrase structure grammar = context-free grammars (CFGs)

context-free grammars

Phrase structure(구문 구조) organizes words into nested constituents

⇒ Phrase structure는 단어들을 중첩된 구성 요소들로 조직화

  1. starting unit: words (기본 단위: 단어들)

the, cat, cuddly, by, door

  • Words combine into phrases (단어들이 모여서 구를 이룸)

구: the cuddly cat, by the door

  • Phrases can combine into bigger phrases (구들이 모여서 더 큰 구를 이룸)

the cuddly cat by the door

작은 단위의 단어들이 구를 이루고, 이 구들이 다시 결합하여 더 큰 구나 문장을 이룬다.

⇒ 중첩된 구들을 non-terminals(비종결)이라함

단어 'the'가 다른 품사로 주어진다면, 보통 관사(article)로 배운다.

때로는 이 단어가 형용사(adjective) 클래스에 포함되기도 한다. ⇒ 품사가 여러개

현대 언어학에서 'the' 같은 단어는 한정사(determiner)라고 부른다.

'a', ‘that' , 'this', 'that' , 'every' 같은 단어들도

'the cuddly cat' 같은 표현의 시작에 등장하여

특정 고양이를 지칭하는 기능을 하기 때문에 determiner라고 한다.

그러나, 우리가 언어를 통해 의사소통할 때 단어들을 무작위로 나열하는 ‘word salad' 방식으로 말하지는 않는다.

ex) "leaking, kitchen, tap" 이라고 말하고 상대방이 조립하는 게 아니라,

단어들을 특정한 방식으로 결합하여 의미를 표현함.

그래서 언어는 의미를 결합하는 더 큰 단위들을 가진다

Review

문법과 구문 구조 설명

  1. 기본 명사구 (Noun Phrases)
  2. NP → Det (Adj) N (PP)**
  3. PP → P NP
  4. VP → V PP
  5. S → NP VP

어휘집 (Lexicon)

  • N → dog, cat
  • Det → a, the
  • P → in, on, by
  • V → talk, walked

다중 형용사와 전치사구

  • 예시: "a large barking dog", "a large barking cuddly cat"

여러 형용사를 사용할 수 있음. 이를 *로 나타냄. * 는 0개 이상의 형용사를 의미함.

  • clinging star: 0개 이상의 항목을 나타내며, 종종 괄호와 함께 사용되어 선택적인 요소를 나타냄.

 

괄호와 별표의 사용 예시

괄호 (Parentheses)

해당 요소가 선택적임을 나타내며, 0개 또는 1개의 항목을 포함할 수 있음을 의미

  • (Adj)는 형용사(adjective)가 선택적임을 의미해. 즉, 형용사가 없거나 하나 있을 수 있음.
  • "a (large) cat" → "a cat" 또는 "a large cat" (둘 다 가능)

별표 (Star)

별표는 0개 이상의 항목이 있을 수 있음을 의미

  • Adj*는 0개 이상의 형용사(adjective)를 포함할 수 있음을 의미
  • "a Adj* cat" → "a cat", "a large cat", "a large fluffy cat" 등 (모두 가능)

괄호와 별표 함께 사용 (Parentheses and Star)

  • 괄호와 별표를 함께 사용하면 선택적 요소가 0개 이상 포함될 수 있음을 의미
  • (Adj*)는 형용사가 선택적으로 0개 이상 포함될 수 있음을 의미
  • "a (Adj*) cat" → "a cat", "a large cat", "a large fluffy cat", "a fluffy cat" 등 (모두 가능)
  • 별표 규칙이 괄호 규칙을 포함할 수 있으므로 괄호 규칙을 삭제할 수 있음.

구체적인 예시

형용사와 명사

  • "the cat"
  • "the large cat"
  • "the large barking cat"
  • "the large barking cuddly cat"

전치사구

  • 명사구 (NP): Noun Phrase → Determiner (Adj*) Noun (Prepositional Phrase*)
  • 전치사구 (PP): Prepositional Phrase → Preposition Noun Phrase

 

Dependency Strucutre (의존 구조)

Dependency Strucutre는 어떤 단어가 다른 어떤 단어에 의존하는지를 보여줌으로써 단어 간의 수식, 연결, 혹은 역할 관계를 나타내는 구문 구조

왜 문장 구조가 필요할까?

  • 인간의 언어는 매우 복잡한 생각을 전달한다.

단어만으로는 복잡한 의미를 설명할 수는 없다. 더 큰 단위인 구문을 통해 의미를 생성하고 더 많은 구조를 통해 문장을 듣는 사람에게 전달

듣는 사람운 단어가 어떤 단어에 의존적인지, 문장의 의미를 이해해야한다.

우리는 기계가 사람처럼 문장을 이해할 수 있도록 만들어야 한다.

Examples of natural language ambiguities (NL의 모호성)

  • 언어 구조를 구축하는 방법에 대한 선택이 언어 해석을 변화 시킨다
  • 프로그램은 어떤 단어가 수정되는지에 대해 일종의 확률론적 방식으로 선택해야됨.

즉, 어떤 다른 단어에 의존하여 문장의 의도를 생각해야함

"San Jose cops kill man with knife."

이 문장은 두 가지 의미를 가진다.

  1. San Jose 경찰이 남자를 죽이는데, 칼로 죽인다는 의미.
  2. 칼을 가진 남자를 San Jose 경찰이 죽인다는 의미.

이러한 애매함은 문장 후반부에 오는 전치사구(prepositional phrase)를 해석하는 방식에 따라 달라진다

전치사구는 명사구를 수식할 수도 있고, 앞에 오는 동사를 수식할 수도 있다.

이러한 prepositional phrase attachment ambiguities (전치사구 결합 애매함)이 모든 문장에서 체계적으로 나타남.

추가 관찰사항

  1. 대부분의 경우 결합 애매함을 인식하지 못함. ⇒ 뇌가 알아서 잘 파악함
  2. 다른 언어들은 다른 애매함을 드러내.

"Scientist count whales from space."

  1. 우주에서 고래를 세는 과학자들.
  2. 과학자들이 우주에서 고래를 센다는 의미.

Prepositional phrases (전치사구)

여기서부터 전치사구를 PP라고 부르겠다.

The board approved its acquisition by Royal Trustco Limited of Toronto for $27 a share at its monthly meeting.

  1. PP 결합 규칙
  2. Catalan Numbers

구문 분석 수를 Catalan Numbers으로 나타냄

  • PP 수에 따라 문장의 구문 분석 수가 지수적으로 증가.
  • 트리 구조와 관련된 많은 맥락에서 나타나는 지수적으로 증가하는 수열.
  • PP들을 붙일 수 있는 수

따라서 PP 수에 따라 분석이 기하급수적으로 늘어난다.

컴파일러에서 사용하는 문법은 모호하지 않음

문법적으로 애매함이 있으면 기본 규칙을 사용해 특정 구문 트리 선택

Coordination scope ambiguities

문장 내에서 조정 구조와 수식 구조의 범위가 애매해서 생기는 의미의 혼동을 의미

"Shuttle veteran and long time NASA executive Fred Gregory appointed to board."

  1. 두 명의 사람이 있다
  2. 한 명의 사람이 있다
  • 두 가지 해석이 가능한 이유

"shuttle veteran"과 "long time NASA executive Fred Gregory"가 각각 독립적인 두 사람인지,

"Fred Gregory"라는 한 사람을 설명하는 두 가지 역할인지가 애매

두 명의 사람이 있는 구조

  • Coordination (조정 구조)
Copy
[shuttle veteran] and [long time NASA executive Fred Gregory]

한 명의 사람이 있는 구조

  • Modifier (수식 구조)
Copy
[shuttle veteran and long time NASA executive] Fred Gregory

Semantic Interpretation (의미 해석)

  • 문장의 구문 구조를 이해하는 것이 의미 해석에 도움이 됨.
  • 간단하고 실용적인 형태의 의미 추출에 사용됨.

EX) 생물 의학 정보학

  • 단백질-단백질 상호작용 같은 특정 관계를 추출.

"The results demonstrated that KaiC interacts rhythmically with SasA, KaiA and KaiB.

 

 

 

interacts 동사에 대해 무언가가 주어로 있고, 다른 무언가가 interacts의 명사 수식어(nominal modifier)인 패턴이 있다면? ⇒ 상호작용

그러나 예시처럼, 종종 접속사가 있어서 더 복잡해짐

그래서 주어와 명사 수식어(conjunct) 사이의 상호작용 패턴도 있음

  • 동사와 의존 관계:
    • interacts 동사를 기준으로, 주어와 명사 수식어(nominal modifier)의 패턴을 통해 상호작용 관계를 파악.
  • 접속사와 추가 패턴:
    • 접속사(conj)가 포함된 경우, 주어와 명사 수식어(conj)의 상호작용 패턴을 통해 추가적인 관계를 파악.

Dependency Structure

Dependency Grammar

  • 문장의 구문 구조가 단어 쌍 간의 관계로 이루어짐
  • binary asymmetric relation (이진 비대칭 관계) 로,단어 쌍 사이에 화살표를 그려 표현하며, 이를 dependencies (의존 관계)라고 부름

Typology of Grammatical Relations

  • 주어 관계 (subject grammatical relation)
  • 동사 보조 관계 (verbal auxiliary grammatical relation)
  • 비모수 수식어 관계 (oblique modifier grammatical relation)

Head and Dependent

  • 화살표는 headdependent 사이의 관계를 나타냄.
  • 예시

트리 구조 (Tree Structure)

  • 의존 관계는 트리 형태를 이룸. 이는 연결되고 비순환적이며 단일 루트를 가짐.

Universal Dependencies Treebank

  • 여러 인간 언어에 공통된 의존 문법 표현을 시도.
  • 현재 약 60개의 다른 언어에 대해 universal dependencies treebanks가 존재.
  1. Treebank의 필요성
  2. Universal Dependencies Treebank

Why are Tree banks good

  • treebank는 문법을 손으로 작성하는 것보다 훨씬 느리고 덜 유용해보이지만, 장점이 있다

장점

  • Reusability of the labor : 재사용이 쉽다
  • Broad coverage, not just a few intuitions : 폭 넓은 적용 범위
  • Frequencies and distributional information
  • A way to evaluate NLP systems : nlp를 평가하는 방법이 된다.

⇒ 내 parser의정확도가 당신의 구문 분석기보다 2% 더 높다!