for textmining

버블정렬

|

이번 글에서는 버블정렬(bubble sort)에 대해 살펴보도록 하겠습니다. 이 글은 고려대 김황남 교수님 강의와 위키피디아를 정리하였음을 먼저 밝힙니다. 파이썬 코드는 이곳을 참고하였습니다. 그럼 시작하겠습니다.

concepts

버블정렬은 가장 간단하지만 비효율적인 정렬 알고리즘입니다. 이미 정렬되어 있는 데이터에 적합한 기법입니다. 다음과 같은 숫자들에 버블정렬을 적용한다고 칩시다.

4, 3, 5, 2

이를 배열에 담으면 다음과 같습니다.

index 0 1 2 3
value 4 3 5 2

버블정렬은 오른쪽 끝에서 시작해 오름차순 정렬합니다. 우선 2와 5를 비교합니다(위 표). 왼쪽에 있는 5가 크므로 자리를 바꿔 줍니다(아래 표).

index 0 1 2 3
value 4 3 2 5

이번엔 2와 3을 비교합니다(위 표). 왼쪽에 있는 3이 크므로 자리를 바꿔 줍니다(아래 표).

index 0 1 2 3
value 4 2 3 5

이번엔 2와 4를 비교합니다(위 표). 왼쪽에 있는 4가 크므로 자리를 바꿔 줍니다(아래 표). 포인터가 다 돌았으므로 첫번째 iteration이 끝났습니다.

index 0 1 2 3
value 2 4 3 5

이제는 정렬이 끝난 2를 제외하고, 4, 3, 5를 정렬할 차례입니다. 오른쪽 끝 요소인 5와 3을 비교합니다(위 표). 왼쪽에 있는 3이 작으므로 자리를 바꿀 필요가 없습니다(아래 표).

index 0 1 2 3
value 2 4 3 5

이번엔 3과 4를 비교합니다(위 표). 왼쪽에 있는 4가 크므로 자리를 바꿔 줍니다(아래 표). 이로써 두번째 iteration이 끝났습니다.

index 0 1 2 3
value 2 3 4 5

이제는 정렬이 끝난 2와 3을 제외하고, 4, 5를 정렬할 차례입니다. 마지막으로 5와 4를 비교합니다. 왼쪽에 있는 4가 작으므로 자리를 바꿀 필요가 없습니다. 이로써 모든 정렬이 끝났습니다.

계산복잡성

버블정렬은 큰 원소가 앞쪽으로 이동하면서 마치 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 이러한 명칭이 붙은 것 같습니다. 정렬 대상 데이터가 $n$개일 때 비교횟수는 다음 표와 같습니다.

iteration 비교 횟수 위치 변경 최대 횟수
1 $n-1$ $n-1$
2 $n-2$ $n-2$
$n-2$ $2$ $2$
$n-1$ $1$ $1$

버블정렬의 계산복잡성은 비교 횟수 + 위치변경 횟수에 비례합니다. 다음과 같습니다.

[\begin{align} T\left( n \right) =&2\times\sum _{ i=1 }^{ n-1 }{ i } \ =&2\times\frac { n\left( n-1 \right) }{ 2 } \ =&O\left( { n }^{ 2 } \right) \end{align}]

배열이 모두 순서대로 정렬되어 있는 상태라면 비교만 수행할 뿐 위치변경을 하지 않아도 되기 때문에 조금 더 가벼워질 수는 있을 겁니다. 그러나 아래와 같이 단 하나의 값이라도 제 자리에 있지 않으면 iteration마다 위치 변경을 해주어야 하기 때문에 계산복잡성은 여전히 $O(n^2)$이 됩니다. 매우 비효율적입니다.

6, 1, 2, 3, 4, 5

1, 6, 2, 3, 4, 5

1, 2, 6, 3, 4, 5

버블정렬의 특징

위 예시에서도 알 수 있듯 버블정렬은 정렬시 부가 메모리가 필요 없는 inplace sort 기법입니다. 아울러 두 값이 같으면 위치를 바꾸지 않기 때문에 stable sort 기법입니다.

파이썬 구현

버블정렬의 파이썬 코드는 다음과 같습니다.

def bubbleSort(alist):
    for passnum in range(len(alist)-1,0,-1):
        for i in range(passnum):
            if alist[i]>alist[i+1]:
                temp = alist[i]
                alist[i] = alist[i+1]
                alist[i+1] = temp

Comment  Read more

최대엔트로피마코프모델(Maximum Entropy Markov Models)

|

이번 글에선 최대엔트로피마코프모델(Maximum Entropy Markov Models, MEMM)을 다루어 보도록 하겠습니다. 이 글은 고려대 정순영 교수님 강의와 Speech and Language Processing(2nd edition) 등을 정리했음을 먼저 밝힙니다. 그럼 시작하겠습니다.

concepts

MEMM은 이름 그대로 최대엔트로피모델은닉마코프모델(Hidden Markov Models)을 결합한 모델입니다.

은닉마코프모델

은닉마코프모델은 각 상태(state)가 이전 상태에만 의존하는 마코프체인(Markov Chain)을 따르되 은닉(hidden)되어 있다고 가정합니다. 은닉마코프모델에서는 관측치를 토대로, 관측치 뒤에 은닉되어 있는 상태를 추정합니다. 아래 그림은 단어가 관측치이고, 품사 정보가 은닉 상태인 은닉마코프모델을 도식화한 것입니다.

은닉마코프모델은 본질적으로 시퀀스 분류기입니다. 직전 상태에서 현재 상태로의 전이확률(transition probability)과 현재 상태에서 관측치를 관측할 확률인 방출확률(emission probability)를 토대로, 관측된 단어 시퀀스 $W$가 주어졌을 때 가장 확률이 높은 은닉 상태(품사)의 시퀀스 $T$를 찾기 때문입니다.

이를 식으로 나타내면 다음과 같습니다. $P(T)$는 전이확률, $P(W$|$T)$는 방출확률을 가리킵니다.

[\begin{align} \hat { T } =&arg\max _{ T }{ P\left( T|W \right) } \ =&arg\max _{ T }{ P\left( W|T \right) \cdot P(T) } \ =&arg\max _{ T }{ \prod _{ i }^{ }{ P\left( { W }_{ i }|{ T }_{ i } \right) } \prod _{ i }^{ }{ P({ T }_{ i }|{ T }_{ i-1 }) } } \end{align}]

그러나 은닉마코프모델은 시퀀스 추정에 전이확률과 방출확률 정보만을 활용하므로, 문맥의 다양한 자질(feature)들을 활용할 수 없다는 단점이 있습니다.

최대엔트로피모델

이번엔 최대엔트로피모델을 살펴보겠습니다. 자연언어처리 분야에서는 다항로지스틱 회귀(multinominal logistic regression)를 최대엔트로피모델이라 부릅니다. 단어 $w$가 주어졌을 때 범주(예 : 품사) $t$가 나타날 확률은 다음과 같습니다.

[P(t w)=\frac { exp\left{ { \overrightarrow { { w }{ t } } }^{ T }\overrightarrow { f } \left( w \right) \right} }{ \sum _{ t’\in T }^{ }{ exp\left{ { \overrightarrow { { w }{ t’ } } }^{ T }\overrightarrow { f } \left( w \right) \right} } }]

위 식에서 벡터 $f$는 단어 $w$에 해당하는 자질(feature)들의 모음입니다. 예컨대 자질 벡터의 첫번째 요소는 ‘직전 단어가 명사이면 1, 그렇지 않으면 0’, 두번째 요소는 ‘현재 단어가 동사이면 1, 아니면 0’… 이런 식으로 $f$의 요소값들을 구성합니다. 범주 $t$에 대응하는 가중치 벡터 $w_t$는 다항로지스틱 모델의 회귀계수를 가리킵니다.

최대엔트로피모델은 자질벡터 $f$를 매우 유연하게 설정할 수 있어 연구자의 언어학적 배경 지식을 모델링에 적극 활용할 수 있다는 장점이 있습니다. 그러나 최대엔트로피모델은 은닉마코프모델처럼 시퀀스 분류기(sequence classifier)가 아니라는 단점이 있습니다. 시퀀스가 아닌 단일 관측치(single observation)에 대해서만 예측이 가능하다는 것이지요.

최대엔트로피마코프모델

MEMM은 최대엔트로피모델의 유연한 자질 활용 능력을 바탕으로 시퀀스 분류를 가능하게 하는 모델입니다. MEMM을 도식화한 그림은 아래와 같습니다. 그림에 나와 있는 것처럼 은닉 상태는 마코프체인을 따른다고 가정하되, 시퀀스 예측에 첫글자, 분사형 등 다양한 자질을 활용하는 방식입니다.

MEMM이 최적 상태 시퀀스를 예측하는 걸 수식으로 나타내면 다음과 같습니다. $i$번째 단어의 자질(feature)과 직전 은닉상태(품사)를 바탕으로 가장 확률이 높은 현재 은닉상태(품사)를 반환하는 것입니다.

[\begin{align} \hat { T } =&arg\max _{ T }{ P\left( T|W \right) } \ =&arg\max _{ T }{ \prod _{ i }^{ }{ P\left( { T }_{ i }|{ W }_{ i },{ T }_{ i-1 } \right) } } \end{align}]

이 때 $P(T_i$|$W_i,T_{i-1})$는 최대엔트로피 모델을 가리킵니다. 이를 식으로 적으면 다음과 같습니다. 아래 식에서 $f$는 $i$번째 단어 $w_i$와 $i-1$번째 은닉상태(품사)에 해당하는 자질벡터입니다.

[P({ T }_{ i } { W }{ i },{ T }{ i-1 })=\frac { exp\left{ { \overrightarrow { { w }{ t } } }^{ T }\overrightarrow { f } \left( { W }{ i },{ T }{ i-1 } \right) \right} }{ \sum _{ t’\in T }^{ }{ exp\left{ { \overrightarrow { { w }{ t’ } } }^{ T }\overrightarrow { f } \left( { W }{ i },{ T }{ i-1 } \right) \right} } }]

비터비 알고리즘

MEMM에서 최적 상태열 추정은 은닉마코프모델과 마찬가지로 비터비 알고리즘(Viterbi Algorithm)을 활용합니다. 이를 도식화한 그림은 다음과 같습니다.

MEMM의 파라메터 추정

MEMM의 학습은 최대엔트로피모델의 가중치 벡터를 추정하는 과정입니다. 다양한 방식이 있지만 iterative scaling algorithm를 많이 쓴다고 합니다. 이와 관련해서는 이곳을 참고하시면 좋을 것 같습니다.

Comment  Read more

한국어의 시제

|

이번 글에서는 한국어의 시제에 대해 살펴보도록 하겠습니다. 이번 글은 고려대 정연주 선생님 강의를 정리했음을 먼저 밝힙니다. 그럼 시작하겠습니다.

시제

시제(tense)란 절이나 문장이 나타내는 사태가 발생한 시간적 위치를 문법적 수단을 통해 나타난 것을 가리킵니다. 사태의 발생 시점을 나타내는 언어적 수단 가운데는 어휘적 수단도 있고 문법적 수단도 있을 수 있는데, 이 가운데 문법적 수단에 의한 것만을 시제라고 합니다.

시제 언어란 과거 사태와 비(非) 과거 사태가 필수적으로 구분되어 쓰이고, 이 역할을 담당하는 시제 형태소가 있는 언어를 뜻합니다. 시제 언어는 다음과 같이 두 개 유형이 있습니다.

  • 2분법 : 과거/비과거 또는 비미래/미래
  • 3분법 : 과거/현재/미래

2분법의 대표적인 사례는 과거 대 비과거 체계를 가지고 있는 일본어입니다. 영어는 논란의 여지가 있으나 과거-현재-미래의 3분적 시제 체계를 갖는 언어라고 할 수 있다고 합니다.

한편 세계 언어들은 미래보다는 과거의 의미 영역을 세분하는 경향이 있다고 합니다. 예컨대 ‘먼 과거’, ‘가까운 과거’ 등으로 나누는 것입니다.

한국어의 시제 체계

현대 한국어는 시제 언어입니다. 과거와 비과거의 구별이 다음과 같이 거의 필수적으로 표시되기 때문입니다.

과거 비과거
-었- -는-
-었- -Ø-

논란이 있기는 하지만 한국어는 과거-현재-미래의 3분 체계로 볼 수 있다고 합니다. 다음 표와 같습니다.

한국어의 과거, 현재, 미래시제 등을 차례대로 살펴 보겠습니다.

과거 시제

한국어 과거 시제는 ‘-었-‘과 ‘-었었-‘으로 실현됩니다.

-었-

‘-었-‘는 한국어에서 대표적인 과거 표시 형태소입니다. 다음 예문과 같습니다.

나는 어제 밥을 먹다.

‘-었-‘결과 상태 지속을 나타내던 ‘-어 잇-‘이 문법화한 형태소입니다. 이 때문에 일부 동사와 ‘-었-‘이 결합하면 과거가 아니라 결과 상태 지속의 의미를 나타냅니다. 다음 예문을 보겠습니다.

꽃이 피다.

위 예문에서 ‘피다’는 끝(end)이 있는 행위를 가리키는 동사입니다. 개화(開花)는 특정 시점에만 이뤄지는 사건으로 끝이 존재합니다. 이러한 부류의 동사를 유계(telic) 동사라고 합니다. 한국어 유계동사의 예에는 웃다, 싸우다, (바람이)불다, 걷다, 뛰다 등이 있습니다.

‘-었-‘은 유계동사와 결합하면 결과나 상태가 지속되고 있다는 의미를 가집니다. 위 예문의 경우 꽃이 핀 상태가 지속되고 있다는 의미로 ‘-었-‘이 쓰였다고 말할 수 있습니다.

물론 ‘-었-‘과 유계동사가 결합한다고 무조건 결과 상태 지속의 의미를 나타내는 것은 아닙니다. 다음 예문을 보겠습니다.

(1) 진이는 결혼했으니까 잊어버려. (결과 상태 지속)

(2) 진이는 올림픽공원에서 결혼했다. (과거)

(1)의 경우 유부녀인 상태가 지속되고 있다는 의미로, (2)의 경우 결혼식이라는 사건이 과거에 일어났다는 취지로 쓰였음을 확인할 수 있습니다.

‘-었-‘은 특이하게 미래의 일에 쓰이기도 합니다. 아직 시작도 하지 않은 일을 이미 끝난 일처럼 말하는 용법으로 사용됩니다. 예문과 같습니다.

너 이제 장가는 다 갔다.

너 내일 죽었다.

-었었-

‘-었었-‘ 또한 과거 표시 형태소입니다. 하지만 ‘-었-‘과는 달리 말하는 시점(발화시)에는 성립하지 않는 사건, 즉 단절된 과거를 나타냅니다. 예문과 같습니다.

그 시, 고등학교 때는 외웠었다. (이제는 다 잊어버렸다)

진이는 어렸을 때 예뻤었다. (지금은 별로 안 예쁘다)

‘-었었-‘은 과거 기준점보다 앞선 시점에 일어난 사태, 즉 과거에서의 과거(대과거)를 나타내는 데에도 쓰입니다. 다음 예문을 보겠습니다.

진이는 9시에야 학교에 도착했다. 집에서 7시에 떠났었다.

최근에는 ‘-었었-‘이 자주 쓰이면서 ‘-었-‘과 비교해 ‘-었었-‘이 가지는 특별한 의미 기능이 잘 드러나지 않는 경우가 많아졌습니다. 일종의 의미의 인플레이션 현상이 나타난 것이지요. 자동차 비상깜빡이가 일상적으로 사용되면서 비상깜빡이를 켰다고 emergency라고 인지하는 운전자들이 적어진 것과 비슷한 이치입니다.

현재 시제

한국어의 현재 시제는 환경에 따라 그 형태가 다양합니다. 다음 예문과 같습니다.

  • -는다 : 서술어 동사, 종결어미 ‘-다’, 자음 뒤 (예) 먹는다
  • -ㄴ다 : 서술어 동사, 종결어미 ‘-다’, 모음 뒤 (예) 간다
  • Ø : 종결어미가 ‘-거든’, ‘-어’ 등일 때 (예) 먹어, 먹거든
  • -는구나 : 서술어 동사, 종결어미 ‘-구나’ (예) 먹는구나, 가는구나

예정된 미래나 확실한 미래는 현재가 아니지만 현재 시제를 씁니다. 다음 예문과 같습니다.

나는 내일 떠난다.

시간의 제한에 제약을 받지 않는 보편적 사실을 진술할 때에도 현재 시제가 사용됩니다.

지구는 태양을 돈다.

진이는 커피 전문점을 운영한다.

과거에 일어난 일이지만 현장감을 강조할 때 쓰이기도 합니다.

케네디는 중대 발표를 결심한다.

미래 시제

논란의 여지가 있지만 한국어의 미래 시제는 ‘-을 것이-‘와 ‘-겠-‘으로 실현된다고 볼 수 있다고 합니다. 이들은 모두 추측과 떼려야 뗄 수 없는 관계를 가지고 있습니다.

‘-겠-‘은 화자가 내면화하지 않은 정보에 기반을 둔 추측, 혹은 현장 지각에 따른 화자의 추측, 화자 자신의 지각력을 바탕으로 한 추측을 나타냅니다. 다음 예문은 기상 캐스터가 구름 사진 등을 판독하면서 하는 말입니다.

내일은 남부 지방에 걸쳐 있는 기압골의 영향으로 남부 지방에 많은 비가 내리겠습니다.

‘-을 것이-‘는 내면화된 정보를 바탕으로 한 추측, 화자 또는 타인의 지식이나 믿음에 바탕을 둔 화자의 추측을 나타냅니다. 다음 예문은 일기예보에 관한 보도를 듣고 내일 날씨에 관한 지식을 획득한 뒤 이를 바탕으로 추측을 한 일반인의 말입니다.

내일은 비가 올 거야.

다음 상황에서는 각각 ‘-겠-‘, ‘-을 것이-‘을 쓰는 것이 더 자연스럽습니다.

(테이블 끝에서 떨어질락 말락 하고 있는 공을 보고) {떨어지겠다/??떨어질 것이다}.

(긴 테이블 한 가운데에서 천천히 굴러가고 있는 공의 속도 등을 바탕으로 추측건대) 공은 테이블에서 {?떨어지겠다/떨어질 것이다}.

상대시제

시제는 일정한 시점을 기준으로 하여 어떤 사건의 시간적 전후 관계를 표시하는 문법범주입니다. 지금까지 설명해드린 시제 개념에서 기준이 되는 ‘일정한 시점’은 말하는 시점(발화시)이었습니다. 다음 예문을 보겠습니다.

동생이 배가 아프다고 투덜거렸어요.

냇물에서 수영하는 아이들을 보았어요.

위 예문에서 아픈 시점, 수영을 한 시점은 발화시를 기준으로 과거에 해당합니다. 하지만 그 형태를 보면 현재 시제로 쓰였습니다. 정동사절(종결어미가 붙은 서술어)의 시제가 기준이 되었기 때문입니다. 다시 말해 위 예문 모두 해당 사건이 일어난 시점은 ‘과거 기준으로 현재’, 즉 과거라는 이야기입니다.

이처럼 발화시가 아닌 다른 시점을 기준으로 결정되는 시제를 상대시제라고 합니다. 상대시제는 복문을 분석할 때 유용합니다. 아래 예문에서 ‘노래하고’와 ‘노는’의 발화시 기준 절대시제는 다음과 같습니다.

다 같이 노래하고 춤춘다 : 현재의 현재=현재

다 같이 노래하고 춤추었다 : 과거의 현재=과거

공원에서 노는 아이들을 본다 : 현재의 현재=현재

공원에서 노는 아이들을 보았다 : 과거의 현재=과거

하지만 복문에서 상대시제가 일률적으로 적용되지는 않습니다. 다음 예문을 보겠습니다.

(가) 내가 지금 읽는 책을 아빠가 좋아했다.

(나) 진이는 책을 읽었고 민이는 음악을 들었다.

기존 상대시제에 기반해 (가)를 분석하면 ‘읽은’의 발화시 기준 절대시제는 ‘과거의 현재’, 즉 과거가 됩니다. 하지만 문장을 자세히 보면 내가 책을 읽는 사건은 현재에 일어난 것입니다. (나)의 경우 기존 상대시제에 기반해 ‘읽은’의 발화시 기준 절대시제를 따져보면 ‘과거의 과거’, 즉 대과거가 됩니다. 하지만 진이가 책을 읽는 사건은 그저 과거에 일어났다고 보는 것이 자연스럽습니다.

어미의 종류에 따라 ‘-었-‘이 반드시 실현되어야 하거나 실현되지 않아야 하는 경우가 있습니다. 다음 예문과 같습니다.

(다) 진이는 집에 {가자마자/*갔자마자} 숙제부터 했다.

(라) 진이는 춤을 {*추나/추었으나} 민이는 노래를 불렀다.

(다)의 경우 ‘가다’라는 사건은 상대시제로 해석해야 합니다(과거의 현재=과거). (라)의 경우 ‘추다’라는 사건은 발화시 기준 절대시제로 해석해야 합니다(과거).

Comment  Read more

한국어 경어법의 분화

|

이번 글에서는 한국어 경어법의 분화에 대해 살펴보도록 하겠습니다. 이번 글은 고려대 정연주 선생님 강의를 정리했음을 먼저 밝힙니다. 그럼 시작하겠습니다.

경어법 분화

경어법이 매우 발달한 한국어는 주체, 청자, 화자 사이의 관계에 따라 다양하게 분화가 일어날 수 있습니다. 예컨대 ‘where are you going?’에 해당하는 한국어 표현은 다음처럼 실현될 수 있습니다.

  • 어디로 가시겠습니까?
  • 어디로 가겠습니까?
  • 어디로 가시겠어요?
  • 어디로 가겠어요?
  • 어디로 가시겠소?
  • 어디로 가겠소?
  • 어디로 가시겠나?
  • 어디로 가겠나?
  • 어디로 가겠어?
  • 어디로 가겠니?

한국어 경어법은 그 체계 자체가 다원적으로 되어 있는데, 다시 그것들을 어떻게 조합하느냐에 따라 개별 체계로 표현되는 등급보다 더 미묘하고 세분화한 표현이 가능해 집니다. 차례대로 살펴보겠습니다.

주체, 청자, 화자 관계에 따른 경어법 분화

하오체나 하게체를 쓸 인물에 대해서는, 그들이 청자가 아닌 경우에는 주체 높임의 선어말어미인 ‘-시-‘를 넣지 않는 것이 원칙입니다. 따라서 ‘-시-‘를 써서 주체 ‘김 군’을 높인 다음 문장은 비문이 됩니다.

*얘들아, 김 군이 어디 가시니?

그러나 하오체나 하게체로 대우되는 인물이 청자일 때에는 ‘-시-‘를 취하는 현상이 나타납니다. 청자가 화자 바로 앞에 있기 때문인 것 같습니다.

(김 군이 청자인 상황에서) 김 군, 어디 가시나?

호칭에 따른 경어법 분화

국어는 대명사만 해도 ‘너, 자네, 당신, 댁’ 등으로 나뉘어 있고, 호칭은 다음과 같이 더욱 여러 갈래로 갈려 있습니다.

과장님, 김 과장님, 김민호 씨, 민호 씨, 민호 형, 김 과장, 김 씨, 김 형, 김 군, 김민호 군, 민호 군, 김민호, 민호, 민호야

이처럼 등급이 나뉜 호칭은 말을 듣는 상대를 높이거나 낮추는 상대경어법과 어울립니다. 상대경어법의 한 등급이 여러 호칭과 어울리기도 하고, 한 호칭이 여러 등급과 어울리기도 합니다.

{김 과장/김 군/민호 군/민호/민호야}, 나 좀 봐.

김 과장, 나 좀 {봐/보세/봐요/봅시다}.

호칭과 상대경어법이 어떻게 조합되는지에 따라 청자에 대한 대우가 조금씩 달라집니다.

상대경어법 조합에 따른 경어법 분화

동일한 장면에서 서로 다른 등급의 상대경어법을 뒤섞는 경우도 있습니다. 이것도 어느 한 등급으로 일관할 때와 다른 중간적인 등급을 만드는 한 방편이 됩니다. 다음 예문과 같습니다.

가긴 어딜 가요? 아무데도 안 갑니다.

모르겠어요, 모르겠다니까 그러네.

Comment  Read more

한국어 상대경어법

|

이번 글에서는 한국어의 상대경어법에 대해 살펴보도록 하겠습니다. 이번 글은 고려대 정연주 선생님 강의와 한국어 문법총론1을 정리했음을 먼저 밝힙니다. 그럼 시작하겠습니다.

상대경어법

상대경어법은 말을 듣는 상대, 즉 청자를 높이거나 낮추는 것을 가리킵니다. 상대 높임은 종결어미로 실현되는데, 어떤 종결어미가 결합되었느냐에 따라 상대 높임의 등급이 결정됩니다. 상대경어법의 체계는 다음과 같습니다.

구분 평서문 의문문 명령문 청유문
하십시오체(아주높임) 믿습니다 믿습니까 믿으십시오 믿으십시다
하오체(예사높임) 믿으오 믿으오 믿으오, 믿구려 믿으오, 믿읍시다
하게체(예사낮춤) 믿네 믿나, 믿는가 믿게 믿세
해라체(아주낮춤) 믿는다 믿느냐, 믿니 믿어라 믿자
해요체(두루높임) 믿어요 믿어요 믿어요 믿어요
해체(두루낮춤) 믿어 믿어 믿어 믿어

이를 크게 격식체와 비격식체로 나눠서 생각해볼 수도 있습니다. 격식체는 공식적이고 청자와 다소 거리를 두고 예의를 갖추는 상황에서 쓰입니다. 비격식체는 사적이고 청자와 가까운 상황에서 친밀감을 나타내는 상황에서 쓰입니다.

  • 격식체 : 하십시오체, 하오체, 하게체, 해라체
  • 비격식체 : 해요체, 해체

위 여섯가지 등급을 높임의 정도에 따라 서열을 매기면 다음과 같습니다.

  • 하십시오체 > 해요체 > 하오체 > 하게체 > 해체 > 해라체

한편 한 청자에 대해 격식체와 비격식체는 다른 등급을 함께 쓰는 일이 흔해도 격식체끼리 혹은 비격식체끼리는 다른 등급을 함께 쓰는 일이 드뭅니다. 예컨대 동일한 친구에 대해 사적으로는 해체를 쓰다가도 학급 회의 같은 자리에서는 하십시오체를 쓰는 일이 있을 수 있습니다. 그러나 어떤 청자에게 해라체를 쓰다가 하게체를 쓰는 일은 드뭅니다.

하십시오체

한국어에서 상대를 가장 정중히 대우하는 최상급의 말투입니다. 손아랫사람에게도 쓸 수 있는 해요체와는 달리 자기보다 상위의 인물에게만 쓸 수 있습니다. 다음과 같은 종결어미로 실현됩니다.

평서문 의문문 명령문 청유문
-습니다 -습니까 -십시오 -십시다

그런데 여기에서 ‘-십시오’와 ‘-십시다’가 정말 정중한지 따져볼 필요가 있습니다. 다음 예문을 보면 상대방을 대우한다는 느낌이 별로 들지 않습니다.

선생님, 칠판에 쓰십시오.

사장님, 다음 주에 함께 식사하십시다.

직접적인 명령은 본유적으로 공손하지 못한 특성이 있습니다. 명령은 상대방의 선택의 폭을 줄이고 화자의 힘은 크게 만들기 때문입니다. 청유형 어미를 쓰는 것에는 더욱 제약이 있습니다. 한국 사회 특성상 상위자에게 직접적으로 청유하는 것 자체가 어렵고 그런 경우가 별로 없습니다. 이 때문에 ‘-십시다’를 하오체 등급으로 분류하는 학자들도 있습니다.

한국어에서 공손한 명령을 위해 자주 이용되는 방식은 다음과 같습니다.

  • 명령을 권유로 바꿈 : 여기 앉으십시오. > 여기 앉으시지요.
  • 청자의 의무를 언급함으로써 간접적으로 명령 : 선생님, 지금 출발하십시오 > 선생님, 지금 출발하셔야 됩니다.
  • 청자의 의견을 물어봄 : 여기 앉으십시오. > 여기 앉으시면 어떠십니까?
  • 간접 의문 어미를 사용함 : 여기 앉으시면 어떠십니까? > 여기 앉으시면 어떠신지요? / 여기 앉으시면 어떠실지요?
  • ‘-어 주다’를 이용함 : 칠판에 쓰십시오. > 칠판에 써 주십시오.
  • 의도나 능력이 있는지 물어봄 : 칠판에 써 주시겠습니까? / 칠판에 써 주실 수 있으십니까?
  • ‘좀’을 이용해 명령에 따른 상대방의 부담을 줄여서 표현 : 칠판에 좀 써 주시겠습니까?
  • 요청하고자 하는 것에 대한 화자의 소망을 언급함으로써 간접적으로 명령 : 칠판에 써 주십시오 > 칠판에 써 주시면 좋겠습니다.

한국어에서 공손한 청유를 위해 자주 이용되는 방식은 다음과 같습니다.

  • 청유를 권유로 바꿈 : 함께 가십시다. > 함께 가시지요.
  • 의도나 능력이 있는지 물어봄 : 사장님, 다음 주에 함께 식사하시겠습니까? / 사장님, 다음주에 함께 식사하실 수 있으십니까?
  • 청자의 의견을 물어봄 : 사장님, 다음 주에 함께 식사하시는 게 어떠십니까?
  • 간접 의문 어미를 사용함 : 사장님, 다음 주에 함께 식사하시는 게 어떠신지요? / 사장님, 다음 주에 함께 식사하시는 게 어떠실지요?
  • 청유하고자 하는 것에 대한 화자의 소망을 언급함으로써 간접적으로 청유 : 사장님, 다음 주에 함께 식사하시면 좋겠는데요.
  • 화자의 행동만을 표현 : 교수님, 다음 시간에 뵙겠습니다.

하오체

아랫사람이나 친구를 하게체보다 더 극진히 높여 대우하는 경어법입니다. 다음 예문과 같습니다.

김 형, 참 오랜만이오. 다시 만나니 참 반갑구려.

하오체는 다음과 같은 종결어미로 실현됩니다.

평서문 의문문 명령문 청유문
-오, -구려, -리다 -오 -오, -구려 -오, -ㅂ시다

해요체와 달리 윗사람에게 쓰이는 경어법이 아닙니다. 남편이 아내에게, 나이 든 선배가 ‘김 형’이라고 부를 수 있는 후배에게, 직장 상사가 ‘김 과장’이라 부를 하위 직원에게 쓰기에 알맞은 어투입니다. 낯선 사람에게는 상대의 신분이 짐작이 잘 안 가는 상태에서 그 신분을 그리 높이 보지 않으면서 자신을 낮추지 않을 때 쓰는 말투입니다.

하오체는 현대 국어에서 잘 쓰이지는 않습니다. 하지만 일부 상황에서는 하오체가 일반적으로 쓰입니다. 다음 예문과 같습니다.

(시험 문제에서) 괄호 속에 알맞은 단어를 3음절로 쓰시오.

(안내 표지판이나 경고판에서) 멈추시오, 들어가지 마시오.

(드라마나 외국 영화 번역에서) 트렁크를 열어 봐도 되겠소? 도대체 어쩌자는 거요?

하게체

하게체는 신분이 화자보다 낮은 사람이되 나이가 들어 함부로 대하기 어려울 때 쓰는 말투입니다. 다음과 같은 종결 어미로 실현됩니다.

평서문 의문문 명령문 청유문
-ㄹ세, -ㅁ세, -네 -나,-ㄴ가 -게 -세

하게체는 결혼할 나이가 된 친구 아들에게, 대학교수가 대학원생이나 조교 정도의 제자에게, 장인/장모가 사위에게 쓰면 어울릴 등급입니다. 상대를 ‘너’로 못 부르고 ‘자네’로 부르며, 호격어도 ‘기창 군, 여보게’ 등이 쓰입니다.

해라체

해라체는 청자가 나이가 어리거나 친한 사이일 때, 또는 신분상으로 높일 일이 없는 사람일 때 쓰는 말투입니다. 호격조사 ‘아/야’, 대명사 ‘너’와 어울리는 등급입니다. 다음과 같은 종결어미로 실현됩니다.

평서문 의문문 명령문 청유문
-다, -마, -구나, -ㄹ라 -느냐, -니 -어라, -렴, -려무나 -자

해라체는 비격식체인 해체와 거의 동등한 등급입니다. 어떤 어미가 해라체인지 따져보려면 ‘요’가 붙을 수 있는지 살피기만 하면 됩니다. ‘요’가 붙을 수 없는 어미가 바로 해라체 어미가 됩니다.

해요체

해요체는 하십시오체 다음으로 상대를 정중히 대하는 대표적 존대말투 가운데 하나입니다. 청자가 자기보다 상위의 사람이거나, 상위에 있지는 않더라도 정중히 대우해 주어야 할 사람에게 쓰는 말투로서 위아래에 두루 쓰입니다.

해요체는 해체 어미에 ‘요’를 덧붙인 형태를 가집니다. 이것이 워낙 규칙적이어서 어떤 어미가 해체 어미인지 아닌지 가리려면 ‘요’의 결합 여부에 따라 판정하면 될 정도입니다. ‘요’는 명사나 부사를 비롯해 연결어미 등 여기저기에 잘 결합하는데 아래 예문과 같은 어형도 일종의 해요체라고 할 수 잇습니다.

커피요? / 그래서요? / 빨리요. / 뭐라고요? / 배가 아프다고요?

해체

격식체인 해라체와 거의 동등한 등급의 말투입니다. 어미의 종류가 많은 것이 특징입니다. 다음 표와 같으며 이들 어미에 ‘요’를 붙이면 해요체가 됩니다.

문장유형 종결어미
평서문 -거든, -군, -구먼, -다니, -네, -데, -어, -지, -ㄹ게
의문문 -게, -나, -ㄴ가, -어, -ㄹ까, -지
명령문 -어, -지
청유문 -어, -지

문장이 마무리되지 않은 채 끝나거나 명사구만으로 문장 구실을 하는 형태도 일종의 변칙적 해체로 볼 수 있습니다.

뭐라고? / 배가 아프다고? / 몇 시에? / 어디서? / 나는 냉면.

하십시오체와 해요체

하십시오체와 해요체는 상대를 정중히 대하는 존대말투라는 점에서 유사합니다. 하지만 하십시오체는 상위자에게만 쓰며, 해요체는 위아래에 두루 쓴다는 차이점이 있습니다. 둘의 높임 등급을 비교하면 하십시오체가 해요체보다 상대를 더 존대합니다. 다음 예문과 같습니다.

(버스에서 가방을 받아 주는 할머니에게) 할머니, {고맙습니다 / *고마워요}.

해체와 해라체

해체와 해라체는 거의 같은 조건에 쓰이며 같은 장면에서 서로 자유롭게 넘나들기도 합니다. 어감상으로도 두 등급의 차이가 잘 느껴지지 않습니다. 하지만 넘나들기 어려운 경우도 있습니다. 다음 예문과 같습니다.

엄마, 이리 와서 밥 {먹어, / *먹어라}.

위 대화 맥락에서 엄마는 상위자이기는 하지만 화자와 친숙하기 때문에 해체를 쓸 수 있습니다. 하지만 아무리 친숙하더라도 해라체는 쓸 수 없습니다. 해체가 해라체보다 더 높은 등급임을 보여주는 것입니다.

글을 쓸 때의 상대경어법

일반 독자를 대상으로 하는 글에서는 원칙적으로 해라체를 씁니다. 다음 예문과 같습니다.

‘한겨울의 봄 날씨’가 보름 가까이 계속되고 있다. 그러나 기상청은 새해부터 차가운 시베리아 기단의 남하로 본격적인 맹추위와 폭설이 예상되는 만큼 대비가 필요하다고 밝혔다. 그러면 어떻게 대비해야 하는가? 자세한 사항은 기상청에서 배포한 안내 자료를 참고하라.

이 때의 해라체는 독자를 낮추는 것이라기보다는 청자를 특정인으로 설정하지 않은 등급을 초월한 중립적인 등급이라고 할 수 있습니다. 다만 일반적인 해라체와는 달리 의문문에서는 ‘-ㄴ가/는가’, 명령문에서는 ‘-라/으라’를 씁니다.

상대경어법 결정요인

한국어에서 상대경어법을 결정하는 요인 가운데 가장 중요한 것은 연령, 직위, 항렬 등 지위입니다. 예컨대 친구 사이라도 한 사람이 직장 상사가 되면 공식적인 자리에서는 존댓말을 써야 합니다. 아무리 가까운 사이여도 선생님이나 직장의 상급자에게 반말을 하거나 이름을 부르는 일은 허용되지 않습니다.

친밀도는 상대경어법 결정에 부수적인 영향을 끼칩니다. 서로 존댓말을 하다가도 친해지면 반말하는 사이로 바뀔 수 있습니다. 또 상황이 공적이거나 대화 주제가 공적인 경우에는 존댓말을 씁니다.

Comment  Read more