일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 언어학 #이론언어학 #자연어처리 #개론
- jupyter notebook
- 미니프로젝트 #XYZ세대 #도서제목분석 #워드클라우드 #워드투벡 #대응분석 #word2vec
- bool
- list
- IF
- Python
- 문자열
- 자연어처리 #언어학 #이론언어학 #통사론
- while
- for
- Tuple
- Set
- 숫자형
- 자연어처리 #언어학 #이론언어학 #형태론
- Anaconda
- Today
- Total
미나랑 해보자
이론언어학 3. 통사론 본문
1. 인트로
모든 언어사용자들은 유한개의 규칙을 가지고 무한대의 문장을 만들 수 있다.
영어는 문장의 순서가 문장에서의 역할을 정의하기 때문에 순서의 영향을 많이 받는다(SVO구조)
이와 반대로, 한국어는 조사가 문장의 격(주격, 목적격 등)을 결정하기 때문에 상대적으로 어순이 자유롭다
-> 영어의 트리구조를 적용하기 어려움
문장규칙은 문장의 의미를 계층적으로 나타냄으로써 중의성을 세분화해줄 수 있다
2. 문법성(grammaticality)가 근거를 두지 않은 부분
-문법성은 의미에 근거하지 않는다
-문법성은 그 문장의 진실성에 근거하지 않는다
예) colorless green ideas sleep furiously
(무색의 초록 생각들이 맹렬히 잔다)
언어학 혹은 영어학을 전공으로 하고있다면 엄청 많이 봤을 문장이다.
문장은 정문이지만(통사적으로 문제가 없지만)
문장의 의미가 성립하지도 않고
참인 문장도 아니다
아래는 colorless green ideas sleep furiously를 표현해보려 노력한 그림. 한 때 스티커를 만들어보려고 했었다.
또한, 통사적비문이지만 의미가 통하는 경우도 많다. 특히 어린 아이들이나 외국어 학습자의 경우 통사적 규칙을 잘 몰라서 무시하는 경우가 많다. 혹은 강조를 위해 일부러 틀려서 부각시킬 수도 있다.
예) the boy quickly in the house the ball found.
이 문장의 경우 '집에서' 공을 찾았다는 것을 강조하기 위한 것으로 추정할 수 있다. 한국어에서도 '너는 밥을 먹었니?'라는 정문이 있다면 주로 주어를 생략하거나(밥 먹었어?) 아니면 아예 주어+동사까지 생략하는 경우가 빈번하다(밥은?)
또한, 계층적인 문장의 관계를 나타내기 위해 tree diagram을 그린다.
예) The child found a puppy
통사트리는 http://mshang.ca/syntree/ 여기서 직접 그려볼 수 있다.
3. 구성요소(constituent)와 구성요소 판별 테스트(constituency test)
구성요소란 문장에서 자연스럽게 묶이는 집단을 의미한다(구성요소의 개념을 알고있는 모어화자라면 구성요소를 언제나 찾을 수 있다.)
그러나, 헷갈리는 경우도 많고, 학습자의 경우 쉽게 판단하기 어렵기 때문에 판별테스트를 통해 구성요소를 판별할 수 있다.
1) stand alone test:
어떤 단어의 묶음이 혼자 사용될 수 있다면(특히, 의문문의 답으로 사용될 수 있다면) 구성요소를 이루는 것이다
예) I find a puppy at the park 라는 문장의 구성요소를 알아보자
Who find a puppy?-----Me
What did you find?-----A puppy
What did you do?------find a puppy/I find a puppy
Where did you find a puppy?—at the park
등등 이렇게 표현할 수 있다
2) replacement by a pronoun or do(대동사)
대명사나 대동사로 문장의 구성요소를 대체할 수 있다
예) I find a puppy at the park 라는 문장의 구성요소를 알아보자
I find him at the park----- 여기서 him은 a puppy
I find a puppy there----- 여기서 there은 at the park
I find a puppy there and Bill did it with me----- 여기서 did는 find a puppy
3) move as a unit
단어의 묶음이 한꺼번에 움직일 수 있다면 그것들은 구성요소이다.
에) I find a puppy at the park 라는 문장의 구성요소를 알아보자
A puppy was found by me
At the park, I find a puppy
위의 문장을 한줄 트리로 이렇게 나타낼 수도 있다
[[I] [find [[[a] [puppy]] [at [[the] [park]]]]]]
-사람들은 구성요소로 문장을 묶어서 생각하는 경향이 있다
예) ‘내가’ / ‘강아지를’ / ‘공원에서’ / ‘찾았구나’
-한 문장에는 적어도 하나의 구성요소가 있다
예) 아까 답을 me라고 한 것도 me 자체도 한 단어가 하나의 구성요소가 된거라 이것도 문장이라고 말할 수 있다
-한 단어 이상으로 된 문장은 언제나 중의성이 있을 수 있다.
4. 통사적 카테고리
명사구, 동사구, 형용사구, 부사구 등의 문법성을 가진 단위라고 생각하면된다.
명사구(NP): men, the men, the men with a telescope
동사구(VP): sees, always sees, often sees the man with the telescope
전치사구(PP): over, over the hill, at the park
형용사구(AdjP): happy, very happy, happy about winning
부사구(AdvP): brightely, more brightly,
--> 하나의 구성요소가 하나의 통사적 카테고리가 되기도 한다. 단어의 길이와는 관계없음
어휘적 카테고리
명사, 동사, 전치사, 형용사, 부사 등
기능적 카테고리
조동사(Auxiliary)
한정사(Determiner, 줄여서 Det)
영어는 8품사(noun, pronoun, verb, adjective, adverb, interjection, preposition, conjunction),
한국어는 9품사(명사, 대명사, 동사, 형용사, 부사, 감탄사, 조사, 수사, 관형사)
그외에도 자연어처리에서는 품사의 특징을 포함해 품사를 조금 더 세분화하기도 한다. 예시로는 펜트리 뱅크와 한국어의 경우 꼬꼬마 형태소 분석기가 있다(파이썬을 통해 직접 제작하는 것도 가능하다). 큰 틀만 있고 세부적인 것들은 정답이 있는 문제가 아니라서 종류도 많고 외울 필요도 없다. 필요한 경우에 적합한 태그셋을 찾아 쓰면 된다.
예1) penn tree bank tagset
예2) 한국어 형태소 분석기
자연어처리를 위해 형태소분석, 워드 클라우드, 트리 등을 그릴 수 있는 패키지 konlpy를 통해 형태소분석을 해볼 수 있다. 자세한 건 https://konlpy-ko.readthedocs.io/ko/v0.4.3/# 여기 참고
5. phrase structure trees
-모든 구의 핵심은 head라고 한다
-head 뒤에서 head를 수식하는 말(의미를 구체화하는 말)을 complement라고 한다
-head앞에 있는 단어를 specifier라고 한다(det등)
구구조나무(phrasal structure tree, PS tree)는 품사정보와 함께 문장의 내부구조를 보여준다. 실제 나무같이 생겼다. 아래는 예전에 그렸던 트리그림을 응용한 스티커.
Merry linguists draw syntactic tree
PS(phrasal sturucture) tree에서는 높은 위치에 있는 요소가 그 아래 범주를 지배(dominate)한다. 여기 트리에서는 VP가 V와 NP를 지배한다.
바로 아래 요소는 immediately dominate 한다고 한다.
같은 위치에 있는 요소는 sister, 그 위를 지배하고 있는 요소는 mother라고 부른다.
6. selection
문장이 잘 만들어지기 위해서는 문장내의 통사적 요구(C-selection)와 의미적 요구(S-selection)를 지켜야한다.
-Head가 주로 필요한 complement를 정해준다(head의 요구)
예) '먹다' 라는 동사는 목적어를 요구한다. '무엇을 먹었는지' 정보가 '먹다'라는 동사를 사용하기 위해 필요하다. 이러한 경우, 언어학에서는 head(먹다)가 complement(무엇을)을 요구한다고 말한다.
-동사는 통사 뿐만 아니라 의미적 요소에 기반해 요소를 요구하기도 한다.
에) put은 그 자체로 ~에 두다는 뜻이다. 즉, ‘~에’부분을 채울 수 있는 장소를 나타내는 문장요소가 필요하다
7. phrasal structure rules(PS rule, 구구조규칙)
문법성을 위한 규칙이다.
재귀적(recursive)이라는 특징이 있다
S-> NP VP
VP->NP PP
NP-> Det N
PP-> P N
재귀적인 규칙 때문에 무한한 문장을 만들 수 있다.
8. 구조적 중의성
예) The boy saw the man with the telescope.
소년은 망원경으로 남자를 보았다
소년은 망원경을 가진 남자를 보았다
With the telescope가 어디를 수식하냐에 따라 의미가 달라진다=중의성이 생긴다.
Cf. 어휘적 중의성
예) 아이는 아버지의 다리를 두 발로 건넜다.
이런 문장이 있을 때 우리는 두가지로 해당 문장을 해석할 수 있다.
먼저, '아버지가 제작한 물리적인 나무나 돌로 만들어진 다리를 건넜다' 라는 뜻이 될 수 있고
혹은, 아이가 어리다면 진짜 아버지의 다리(신체의 일부)를 밟고 건널 수도 있다.
9. 의존문법(dependency grammar)
나의 경우 구구조규칙을 배웠지만 요즘 자연어처리에서는 의존문법을 더 많이 사용한다고 한다. 조금 더 유연하다는 장점이 있다.
다른 것보다 아예 외국어예시가 더 보기 편해보여서 가져왔다. 이전에 보았던 통사트리들과 달리 문장성분간 관계가 유연하게 표기된 것을 볼 수 있다.
구구조규칙은 딱딱하다. 예를 들어 wh-문은 의문문을 만들 때 문장 앞으로 가는 경향이 있다. 그 경우 해당 위치를 비워두고 다시 트리를 그린다. 그림으로 보면 조금 이해가 쉽다.
문장성분에서 who에 해당하는 부분을 비우고 who를 앞부분으로 옮겼다는 것을 트리구조로 나타낸 것을 볼 수 있다. 이런 부분은 특히나 어순이 상대적으로 자유로운 언어(한국어 등)에 통사트리를 적용시키기 어렵다는 한계를 가진다. 그러나 의존문법을 사용한다면 트리를 여러 개 만드는 수고를 덜 수 있고, 각 요소 간 의존관계를 쉽게 알 수 있다.
'데이터청년캠퍼스 > 이론언어학' 카테고리의 다른 글
이론언어학 2. 형태론(Morphology) (0) | 2021.07.06 |
---|---|
이론언어학 1. 개론 (0) | 2021.07.06 |