for textmining

disciminative models

|

이번 글에서는 discriminative model 개념을 선형회귀로지스틱회귀를 중심으로 살펴보도록 하겠습니다. 이 글은 전인수 서울대 박사과정이 2017년 12월에 진행한 패스트캠퍼스 강의를 정리했음을 먼저 밝힙니다. 그럼 시작하겠습니다.

discriminative model

discriminative model이란 데이터 $x$가 주어졌을 때 레이블 $y$가 나타날 조건부확률 $p(y$|$x)$를 반환하는 모델을 가리킵니다. 레이블 정보가 있어야 하기 때문에 지도학습(supervised learning) 범주에 속하며 $x$의 레이블을 잘 구분하는 결정경계(decision boundary)를 학습하는 것이 목표가 됩니다. discriminative modelgenerative model에 비해 가정이 단순하고, 학습데이터 양이 충분하다면 좋은 성능을 내는 것으로 알려져 있습니다. 선형회귀와 로지스틱회귀는 disciminative model의 대표적인 예시입니다.

선형회귀

선형회귀는 제곱오차(squared error)를 최소화하는 선형식을 찾는 것이 목적입니다. 이 글에서는 선형회귀를 확률모형 관점에서 살펴보겠습니다. 선형회귀는 잔차(error)가 IID Zero Mean Gaussian을 따른다고 가정합니다. 다음과 같습니다.

[\overrightarrow { e } =\overrightarrow { y } -X\overrightarrow { \beta } ,\quad \overrightarrow { e } \sim N(E(\overrightarrow { e } ),V(\overrightarrow { e } ))\ E(\overrightarrow { e } )=\begin{bmatrix} 0 \ 0 \ … \ 0 \end{bmatrix},\quad V(\overrightarrow { e } )={ \sigma }^{ 2 }I]

잔차와 모델 파라메터 $β$에 대한 로그우도(log-likelihood) 함수는 다음과 같습니다. 아래 로그우도 함수를 최대화하는 $β$가 바로 우리가 찾고자 하는 값입니다.

[\begin{align} l(\overrightarrow { \beta } )=&\log { L(\overrightarrow { \beta } ) } \ =&\log { \prod _{ i=1 }^{ m }{ \frac { 1 }{ \sqrt { 2\pi } \sigma } exp\left( -\frac { { \left( { y }^{ (i) }-{ \overrightarrow { \beta } }^{ T }{ x }^{ (i) } \right) }^{ 2 } }{ 2{ \sigma }^{ 2 } } \right) } } \ =&m\log { \frac { 1 }{ \sqrt { 2\pi } \sigma } } -\frac { 1 }{ { \sigma }^{ 2 } } \frac { 1 }{ 2 } \sum _{ i=1 }^{ m }{ { \left( { y }^{ (i) }-{ \overrightarrow { \beta } }^{ T }{ x }^{ (i) } \right) }^{ 2 } } \end{align}]

위 식에서 $m$는 데이터 수, $π$는 상수, $σ$는 사용자가 지정하는 하이퍼파라메터로 위의 로그우도 함수 최대화에 영향을 끼치는 값이 아닙니다. 따라서 선형회귀 모델의 로그우도 함수를 최대화하는 것은 제곱오차를 최소화하는 것과 정확히 같은 일이 됩니다.

로지스틱회귀

로지스틱회귀 모델의 손실함수는 크로스엔트로피(cross entropy)입니다. 범주가 1일 확률을 $p$, 0일 확률을 $1-p$라고 했을 때 로지스틱회귀 모델은 다음과 같이 정의됩니다($σ$는 시그모이드 함수).

[p=\frac { 1 }{ 1+exp\left( -{ \overrightarrow { \beta } }^{ T }x \right) } =\sigma ({ \overrightarrow { \beta } }^{ T }x)]

로지스틱회귀의 로그우도 함수는 다음과 같습니다.

[\begin{align} l(\overrightarrow { { \beta } } )=&\log { L(\overrightarrow { { \beta } } ) } \ =&\log { \prod _{ i }^{ }{ { \sigma (\overrightarrow { { \beta } } ^{ T }{ x }_{ i }) }^{ { y }_{ i } }{ \left{ 1-\sigma (\overrightarrow { { \beta } } ^{ T }{ x }_{ i }) \right} }^{ 1-{ y }_{ i } } } } \ =&\sum _{ i }^{ }{ { y }_{ i }\log { \left{ \sigma (\overrightarrow { { \beta } } ^{ T }{ x }_{ i }) \right} } } +\sum _{ i }^{ }{ \left( 1-{ y }_{ i } \right) \log { \left{ 1-\sigma (\overrightarrow { { \beta } } ^{ T }{ x }_{ i }) \right} } } \end{align}]

최종 도출된 로그우도 함수는 음의 크로스엔트로피인 점을 확인할 수 있습니다. 따라서 로지스틱회귀 모델의 로그우도 함수를 최대화하는 것은 크로스엔트로피를 최소화하는 것과 정확히 같은 일이 됩니다.

Comment  Read more

한국어의 부정 표현

|

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

부정문

부정소란 어떤 문장에 덧붙어 그 명제의 진위를 정반대로 바꾸는 일을 하는 요소를 가리킵니다. 한국어에서 대표적인 부정소로는 , 이 있습니다. 부정문(否定文)이란 부정소가 들어있는 문장입니다.

한국어에선 긍정문과는 잘 결합하지 않고 부정문과만 결합하는 특정한 단어들이 있습니다. 이런 단어들을 부정극어라고 합니다. 예컨대 다음과 같은 종류가 있습니다.

  • 결코, 전혀, 절대로, 과히, 그다지, 비단, 별로, 통, 도무지, 도저히 등
  • 더 이상, 하나도, 한 $X$도(한 개도, 한 대도, 한 자루도 등), 아무도, 추호도, 조금도 등

한국어에서는 부정극어와 호응하는 특성으로 부정문의 범위를 정합니다. 다시 말해 부정극어가 자연스럽게 끼어 들어갈 수 있으면 해당 문장을 부정문으로 보는 것입니다. 한국어에서는 대체로 ‘안’이나 ‘못’이 있는 문장과 부정극어가 어울립니다.

그러나 ‘안’이나 ‘못’이 없지만, 부정극어를 허용하는 문장이 있습니다. 예컨대 다음과 같습니다. 아래 예문은 부정문으로 인정하는 견해가 다수입니다(부정극어 ‘전혀’와 호응, 모른다는 ‘알지 못하다’와 대응).

  • 그는 진이가 한 일을 전혀 모른다.

아래 예문의 ‘비전문적이다’는 의미상 ‘전문적이다’를 부정하는 것이라 하더라도, 부정적인 뜻의 어휘를 만든 것일 뿐 통사적으로 부정문이라고 보기는 어렵습니다(다시 말해 부정적인 뜻의 어휘를 서술어로 하는 통사적 긍정문임). 부정극어 ‘전혀’와 호응하지 않기 때문입니다.

  • *그 지식은 전혀 비전문적이다.
  • 그 지식은 전혀 전문적이지 않다

부정의 의미를 나타내는 접두사 미(未), 무(無), 비(非), 불(不), 몰(沒)이 결합한 경우, 문장 전체의 뜻은 부정적이라 하더라도 통사적으로는 부정문으로 보지 않습니다.

부정법의 종류와 특징

부정법을 종류와 특징을 차례대로 살펴보겠습니다.

‘안’ 부정법

‘안’ 부정법에는 부정 부사 ‘안’을 쓰는 단형부정과 부정 보조동사 구성 ‘-지 않-‘을 쓰는 장형부정이 있습니다. ‘$X$하-‘ 꼴의 동사를 단형으로 부정할 때, ‘안 $X$하-‘보다는 ‘$X$ 안 하-‘를 선호하는 경향이 있습니다. 예컨대 다음과 같습니다.

  • 공부 안 하-

‘$X$하-‘ 꼴의 형용사를 단형으로 부정할 때에는 ‘안 $X$하-‘를 선호합니다.

  • 안 깨끗하-, 안 화려하-

‘안’ 부정법은 의지, 상황, 능력, 불급 등 특별한 의미가 없는 평범한 부정을 나타낼 때 쓰입니다. 다음 예문과 같습니다.

  • 오늘은 비가 오지 않는다.

주체의 의지에 의해 어떤 행위를 하지 않음(의지 부정)을 나타낼 때도 ‘안’ 부정법이 쓰입니다. 주어가 의지를 가질 수 있고 서술어가 행위동사인 경우에만 ‘안’이 의지 부정의 의미로 해석됩니다. 다음 예문과 같습니다.

  • 진이는 밤새 한잠도 자지 않았다.
  • 진이는 고기를 안 먹는거야, 못 먹는 거야?

반면 주어가 의지는 있지만 능력이 없는 경우에는 ‘안’ 부정문을 쓸 수 없습니다. 다음 예문은 이 때문에 비문입니다.

  • *진이는 대문이 잠겨서 집에 들어가지 않는다.
  • *진이는 회사에서 1년을 견디지 않았다.

‘못’ 부정법

‘못’ 부정법에는 부정 부사 ‘못’을 쓰는 단형부정과, 부정 보조동사 구성 ‘-지 못하-‘를 쓰는 장형부정이 있습니다. 어떤 행위를 할 능력이 없음(능력 부정)을 나타낼 때 ‘못’ 부정법을 씁니다. 다음 예문과 같습니다.

  • 진이는 이 바위를 못 든다.

주체의 의지와 상관 없이 상황에 의해 어떤 행위를 하지 못함(상황 부정)을 나타낼 때도 ‘못’ 부정법을 씁니다. 다음 예문과 같습니다.

  • 밖이 시끄러워서 잠을 자지 못했다.

의지를 가질 수 있는 주어가 나타나야 ‘못’ 부정법이 ‘능력 부정’이나 ‘상황 부정’으로 해석될 수 있습니다. 그러나 다음 예문처럼 의지를 가질 수 없는 주어가 나타난 경우에 ‘못’ 부정법을 기본적으로 쓸 수 없습니다.

  • *비가 오지 못했다.
  • *내용이 외워지지 못한다.
  • *날씨가 춥지 못하다.

‘못’ 부정법은 형용사문에서도 기본적으로 쓰이지 않습니다. 형용사가 드러나는 상태는 주어의 의지나 능력과 관계가 없는 경우가 많기 때문입니다.

하지만 때로는 의지를 가질 수 없는 주어와 ‘못’이 어울리는 경우도 있습니다. 아래 예문의 경우 ‘못’은 상황이 화자의 기대에 미치지 못함(불급(不及)부정)을 나타냅니다.

  • 엑스레이가 이 물질을 통과하지 못했다.
  • 살림이 넉넉하지 못해서 대접이 소홀했습니다. (형용사와 함께 쓰이는 경우 장형부정만 가능)

한편 부정 보조용언 ‘않-‘, ‘못하-‘가 동사 활용을 보일 것인지, 형용사 활용을 보일 것인지는 ‘-지’ 앞 용언의 품사에 따릅니다. 다음 예문과 같습니다.

  • 동사 : 진이가 책을 읽지 {않는다, *않다}.
  • 형용사 : 나는 배가 아프지 {*않는다, 않다}.
  • 동사 : 진이가 잠을 자지 {못한다, *못하다}.
  • 형용사 : 살림이 넉넉하지 {*못한다, 못하다}.

‘말다’ 부정법

‘안’ 부정법과 ‘못’ 부정법은 평서문, 의문문에 쓰이고, ‘말다’ 부정법은 명령문, 청유문에 쓰입니다. 다음 예문과 같습니다.

  • 책을 읽지 {말아라, *않아라, 못해라}.
  • 책을 읽지 {말자, *않자, *못하자}.

바람을 나타내는 동사 ‘바라다, 희망하다, 원하다, 기대하다’ 등이 쓰일 때에는 명령이나 청유가 아닌 문장에서도 쓰일 수 있습니다.

  • 나는 네가 미국에 가지 {말기를/않기를} 바란다.

당위를 나타내는 경우에도 쓰일 수 있습니다.

  • 너는 미국에 가지 {말아야/않아야} 한다.

특수 어휘에 의한 부정법

‘없다’, ‘모르다’, ‘아니다’ 세 가지가 있습니다. 이들 세 어휘는 부정극어와 어울려 쓰일 수 있기 때문에 특수 어휘에 의한 부정법이라는 별도 범주로 분류해 둔 것입니다.

‘없다’는 ‘있다(형용사 exist)’의 부정어 노릇을 합니다. 다음 예문과 같습니다.

  • 책이 여기에 있다.
  • 책이 여기에 없다.

동사인 ‘있다(stay)’나 ‘계시다’는 ‘안’ 부정문이나 ‘못’ 부정문으로 부정합니다. 다음 예문과 같습니다.

  • 저놈이 잠시도 가만히 안 있는다.
  • 선생님은 저기에 안 계신다.

보조동사 구성 ‘-어 있-‘, ‘-고 있-‘에서의 ‘있다’도 부정어로 ‘없다’를 취하지 않습니다. 다음 예문과 같습니다.

  • *아이들이 놀고 없어요.
  • 아이들이 놀고 있지 않아요.

‘모르다’는 ‘알다’의 부정어 노릇을 합니다. 다만 부정의 정도를 좀 완화할 때에는 ‘알지 못하다’로도 쓰일 수 있습니다. 다음 예문과 같습니다.

  • 나는 그 사람을 모른다.
  • 나는 그 사람을 알지 못한다.

‘아니다’는 다음과 같이 ‘이다’의 부정어 노릇을 합니다.

  • 진이는 회사원이다.
  • 진이는 회사원이 아니다.

단, ‘$X$적이-‘ 꼴의 술어를 부정할 때는 특수형 ‘-이 아니-‘뿐 아니라 장형 ‘-지 않-‘도 가능합니다.

  • 보수적이 아니다.
  • 보수적이지 않다.

단형부정 vs 장형부정

의문문에서 ‘안(단형부정)’을 이용하면, 화자가 어떤 긍정적인 전제를 가지고 있었으나 상황을 보니 그 전제가 부정될 개연성이 있다고 판단되어, ‘그 전제가 부정되는 것이 맞는지’를 확인하는 기능으로 쓰이는 경향이 있습니다. 다음 예문과 같습니다.

  • 너 오늘 수업 들으러 안 가?

‘안’이 쓰일 때 화자는 부정문으로 표현될 수 있는 내용을 마음 속에 품고 있습니다. 위 예문 기준으로는 ‘청자가 오늘 수업 들으러 안 간다’는 문장이 화자 마음 속에 있다는 뉘앙스로 읽힙니다.

반면 ‘-지 않-(장형부정)’을 이용하면 화자가 긍정적인 전제를 가지고 있으면서 청자에게 동의를 요청하는 기능으로 쓰이는 경향이 있습니다. 다음 예문과 같습니다.

  • 너 오늘 수업 들으러 가지 않아?

‘-지 않-‘이 쓰일 때 화자는 긍정문으로 표현될 수 있는 내용을 마음 속에 품고 있습니다. 위 예문 기준으로는 ‘청자가 오늘 수업 들으러 간다’는 문장이 화자 마음 속에 있다는 뉘앙스로 읽힙니다.

부정의 작용역 차이도 나타납니다. 다음 예문과 같습니다.

  • 학생이 다 안 왔어. → 1차적 해석 : 부정소가 동사만 부정의 범위에 포함하는 것, 즉 “온 사람이 없음”

    → 2차적 해석 : 부정소가 수량 표현까지 부정의 범위에 포함하는 것, 즉 “일부만 왔음”

  • 학생이 다 오지 않았어. → 부정소가 수량 표현까지 부정의 범위에 포함하는 것, 즉 “일부만 왔음”

    → 부정소가 동사만 부정의 범위에 포함하는 것, 즉 “온 사람이 없음”

다른 예문을 보겠습니다.

  • 진이가 민이만 안 때렸어. → 1차적 해석 : “진이가 안 때린 유일한 사람이 민이임”
  • 진이가 민이만 때리지 않았어. → “진이가 때린 사람이 민이 외에도 있음”

    → “진이가 안 때린 유일한 사람이 민이임”

단형부정문과 달리 장형부정문은 용언 뒤에 보조사가 첨가될 수 있습니다. 다음 예문과 같습니다.

  • 진이는 예쁘지 않다.

단형부정은 단정적인 부정, 장형부정은 완곡한 부정의 효과를 냅니다. 부정부사 ‘안’을 수정하고 싶은 정보 앞에 위치시키면 좀 더 강력한 수정의 효과를 볼 수 있습니다. 반면 장형부정 ‘-지 않-‘을 보조사 ‘는’과 함께 사용하면 부분적인 수정의 효과를 볼 수 있습니다. 다음 예문과 같습니다.

  • 단정적인 부정 : 안 예쁘다. 안 그래.
  • 완곡한 부정 : 예쁘지는 않다. 그렇지는 않아.

위와 같은 단형부정과 장형부정의 차이는 서술어가 동사일 때보다 형용사일 때 더 잘 나타납니다. 형용사는 그 특성상 정도성 개념과 깊은 관련을 맺고 있기 때문입니다. 예컨대 형용사 ‘예쁘다’의 경우 못생김과 예쁨의 양극단에서 어떤 지점을 나타낸다고 볼 수 있습니다. 이를 단형부정, 장형부정의 의미상 차이와 연결지어 그림으로 표현하면 다음과 같습니다.

‘안’을 쓰는 단형부정은 격식적이지 않은 상황, 즉 일상 구어에서 잘 쓰입니다. 다만 사용 빈도가 낮은 용언, 어간 음절수가 많은 용언은 ‘안’보다는 ‘-지 않-‘과 결합하는 예가 많습니다. 다음 예문과 같습니다.

  • 굶주리지 않-, 예사롭지 않-, 우유부단하지 않-

‘교육자답다’ 등 “$X$의 자격을 갖추고 있음”의 의미를 나타내는 ‘$X$답-‘ 꼴의 형용사는 단형부정으로 잘 부정되지 않습니다.

Comment  Read more

한국어의 사동 표현

|

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

사동문

이 글에서 다룰 사동은 피동과 더불어 태 범주에 속합니다. 태(態, voice)의미역이 문법적 관계로 실현되는 방식을 가리키는 문법범주입니다. 동사에 붙는 문법적 표지(예컨대 어미)로 표시됩니다. 사동문이란 애초의 문장에 새 사동주를 추가하고 그 추가된 사동주로 하여금 애초의 문장에 서술된 내용을 일어나게 하는 방식으로 참여자 역할의 관계를 새로 짜는데, 동사에 이것을 알리는 표지가 붙은 문장을 가리킵니다.

사동문을 만들기 위해선 다음 세 가지 절차를 거칩니다.

  1. 새로운 주어(사동주 causer)를 도입한다.
  2. 원래의 주어(피사동주 causee)를 강등한다.
  3. 동사에 특별한 표지(사동표지)를 첨가한다.

예문과 같습니다.

  • 동생이 숨었다. → 형이 동생을 숨겼다.

사동문의 짝이 되는 주동문은 형용사문, 자동사문, 타동사문이 모두 가능합니다(이와 반대로 피동의 경우에는 타동문에서만 가능합니다). 예문과 같습니다.

  • 형용사문 : 마당이 넓다. → 인부들이 마당을 넓힌다.
  • 자동사문 : 아기가 잔다. → 진이가 아기를 재운다.
  • 타동사문 : 아이가 사과를 먹었다. → 진이가 아이에게 사과를 먹였다.

‘인부들이 마당을 넓힌다’의 경우 인부들이 마당을 넓히도록 누군가에게 시키는 것이 아니라 인무들 스스로 일한다는 의미가 있습니다. 사동 개념과 관련해 ‘시킴’의 의미가 있어야 사동이라는 오해가 발생할 수 있는데, 사동주가 새로 추가 되고 해당 사동주가 사태를 유발하도록 하는 의미로 문장이 재편된다면 모두 사동 범주에 포함된다는 점에 주의해야 합니다.

한편 사동문에 대응하는 주동문이 존재하지 않는 경우도 있습니다. 논란이 있으나 사동문으로 다루는 것이 일반적입니다. 예문과 같습니다.

  • *짐이 옮았다. / 진이가 짐을 옮겼다.

한국어 사동 표지의 종류

한국어 사동 표지를 종류별로 살펴보겠습니다. 사동 표지 길이에 초점을 맞춰 사동 접미사에 의한 사동을 단형(短型) 사동, 보조동사 구성 -게 하-에 의한 사동을 장형(長型) 사동이라고 합니다.

사동 접미사 (단형 사동)

우선 사동 접미사 -이/히/리/기/우/구/추-가 있습니다. 다음 예문과 같습니다.

  • -, 입-, 알-, 맡-, 비-, 솟-, 낮-

-우- 앞의 모음이 변화는 경우도 있습니다.

  • 쓰다 → 씌우다
  • 타다 → 태우다
  • 서다 → 세우다

한국어의 모든 용언에 사동 접미사가 붙을 수 있는 건 아니고, 일부 동사, 형용사에만 결합할 수 있습니다. 다음 종류의 용언에는 결합이 제약됩니다.

  • ‘이기다’ 따위의 어간이 ‘ㅣ’ 모음으로 끝나는 용언
  • ‘주다’ 따위의 수여동사
  • ‘얻다’ 따위의 수혜동사
  • ‘만나다’ 따위의 대칭동사
  • ‘하다’로 끝나는 용언

한편 사동사와 피동사의 형태가 동일한 경우도 있습니다. 이 때는 문장 전체 구조를 보고 해당 단어가 사동사인지 피동사인지 구별해야 합니다. 다음 예문과 같습니다.

  • 그 책이 많이 읽혔다. (피동문)
  • 형이 동생에게 그 책을 읽혔다. (사동문)
  • 저 멀리 남산이 보인다. (피동문)
  • 진이가 아이에게 그림책을 보인다. (사동문)

보조동사 구성 ‘-게 하-‘ (장형 사동)

보조동사 구성 -게 하-로도 사동문을 만들 수 있습니다. 다음 예문과 같습니다.

  • 게 하-
  • 게 하-

보조동사 구성 -게 하-는 분포가 넓습니다. 접미사 사동이 불가능한 동사(*깨닫기다-깨닫게 하다)는 물론 접미사 사동이 가능한 동사 어간(웃기다-웃게 하다)에도 결합합니다.

그러나 피사동주가 추상명사이거나 무정물인 경우에는 결합이 대체로 제약됩니다. 다음 예문과 같습니다.

  • 네 동생 먹을 것만 {남기고/*남게 하고} 다 먹어도 좋다.

보조동사 구성 -게 하-로 만들어진 사동문의 가장 큰 통사적 특징 가운데 하나는 해당 사동문이 주술 관계가 두 번 있는 복문을 이룬다는 점입니다. 다음 예문을 보면 주동문은 단문이었지만, 사동문이 복문이 되었음을 확인할 수 있습니다.

  • 아이가 밥을 먹는다. → 진이는 [아이가 밥을 먹]게 했다.

X시키-

서술성 명사 $X$에 ‘시키다’가 붙어 사동표현을 만들 수 있습니다. 다음 예문과 같습니다.

  • 합격시키-, 통과시키-, 입학시키-, 발전시키-

X시키--하다 형에 대응되면서 서술성 명사 일부에만 결합합니다. 가령 선행요소가 어근이거나(예: *구(救)시키다), 동작/의도성이 약할 경우(예: *생각시키다) -시키다 형이 성립되지 않습니다.

X하다X시키다의 의미가 동일한 경우도 있는데, 이 경우는 X시키다가 사동의 기능을 하는 것이 아닙니다. 다음 예문과 같습니다.

  • 나는 빨간 줄과 파란 줄을 {연결했다/연결시켰다}.

주동문 주어의 강등 양상

주동문을 사동문으로 만들 때 주동문 주어는 문장 내 다른 요소로 강등됩니다. 유형별로 강등 양상이 다른데요. 차례대로 살펴보겠습니다.

단형사동의 경우

주동문이 형용사문, 자동사문인 경우 주동문 주어는 사동문에서 목적어로 바뀝니다.

  • 형용사문 : 길이 넓다. → 인부들이 길을 넓혔다.
  • 자동사문 : 아이가 운다. → 진이가 아이를 울렸다.

주동문이 타동사문인 경우 주동문 주어는 사동문에서는 목적어나 여격어로 바뀝니다.

  • 아이가 밥을 먹는다. → 진이가 아이에게 밥을 먹였다. / 진이가 아이를 밥을 먹였다.

장형사동의 경우

주동문의 주어는 내포절의 주어로 남아 있을 수도 있고, 모절의 여격어나 목적어로 실현될 수도 있습니다. 다음 예문과 같습니다($e_i$는 $i$가 들어갈 자리인데 생략되었다는 의미입니다).

  • 아이가 밥을 먹는다.

    → 진이는 [아이가 밥을 먹]게 했다. (내포절 주어)

    → 진이는 아이$i$에게 [$e_i$ 밥을 먹]게 했다. (모절 여격어, 의사전달 행위에 초점)

    → 진이는 아이$i$를 [$e_i$ 밥을 먹]게 했다. (모절 목적어, 피사동주의 수동성에 초점)

‘진이는 아이에게 밥을 먹게 했다’의 경우, ‘아이에게’는 동사 ‘먹다’의 논항이 될 수 없습니다. ‘아이에게 밥을 먹다’라는 문장은 성립하지 않기 때문입니다. 따라서 ‘아이에게’는 모절인 ‘진이는 ~게 했다’에 걸린다고 보아야 하며 동사 ‘하다’와 관련지어 해석해야 합니다. 다시 말해 ‘아이에게’는 모절의 성분이라는 이야기입니다. 한편 내포절의 주어(아이가)가 생략된 걸 확인할 수 있습니다. ‘아이에게’가 이미 모절에서 실현됐기 때문입니다.

마찬가지로 ‘진이는 아이를 밥을 먹게 했다’의 경우, ‘아이를’은 동사 ‘먹다’의 논항이 될 수 없습니다. ‘아이를 밥을 먹다’라는 문장은 성립하지 않기 때문입니다. 따라서 ‘아이를’은 모절인 ‘진이는 ~게 했다’에 걸린다고 보아야 하며 동사 ‘하다’와 관련지어 해석해야 합니다. 한편 내포절의 주어(아이가)가 생략된 걸 확인할 수 있습니다. ‘아이를’이 이미 모절에서 실현됐기 때문입니다.

주동문 주어를 모절 여격어(아이에게)로 실현할 경우 사동문의 의미가 의사전달 행위에 초점이 맞춰지게 됩니다. 위 예문의 경우 진이가 아이에게 밥을 먹으라는 말을 건넸다는 뉘앙스가 느껴집니다. 반면 모절 목적어(아이를)로 실현할 경우 피사동주의 수동성에 초점이 갑니다. 위 예문의 경우 진이가 아이를 앞에 앉혀두고 밥을 먹도록 시키고 있다는 뉘앙스가 느껴집니다.

단형사동 vs 장형사동

이번엔 단형사동과 장형사동의 차이에 대해 살펴보겠습니다.

통사적 차이

우선 단형사동은 단문이고, 장형사동은 복문입니다. 다시 말해 장형사동의 -게 하-에서 ‘-게’는 내포절을 이끄는 어미라고 볼 수 있습니다. 여기서 파생되는 통사적 차이점들이 꽤 있습니다.

우선 장형사동에서는 피사동주가 내포절의 주어이기 때문에 주격조사 ‘-가’와 통합될 수 있지만, 단문인 단형사동에서는 피사동주가 주어가 아니므로 ‘-가’와 통합될 수 없습니다.

부사어가 걸리는 위치도 미묘하게 달라집니다. 단형사동의 경우 부사어는 문장의 주어와 관련지어 해석되고, 장형사동의 경우 부사어는 모절 주어뿐 아니라 내포절 주어에도 관련될 수 있습니다. 다음 예문과 같습니다.

  • 진이가 아이에게 옷을 빨리 입혔다. (빨리 행동(시킴)하는 사람은 진이)
  • 진이가 아이$i$에게 [$e_i$ 옷을 빨리 입]게 했다. (ㄱ. 빨리 행동(시킴)하는 사람은 진이, ㄴ. 빨리 행동(옷 입기)하는 사람은 아이)
  • 진이가 아이에게 그 책을 읽혔다. (행동(시킴)을 못한 사람은 진이)
  • 진이가 아이$i$에게 [$e_i$ 그 책을 읽]게 했다. (ㄱ. 행동(시킴)을 못한 사람은 진이, ㄴ. 행동(책 읽기)를 못한 사람은 아이)
  • 진이가 아이에게 숟가락으로 밥을 먹인다. (숟가락을 들고 있는 사람은 진이)
  • 진이가 아이$i$에게 [$e_i$ 숟가락으로 밥을 먹]게 한다. (ㄱ. 숟가락을 들고 있는 사람은 진이, ㄴ. 숟가락을 들고 있는 사람은 아이)

한국어의 주어 판별법 가운데 하나로 주어 자리에 오는 명사가 존대의 대상이면 서술어인 용언에 주체경어법의 선어말어미 ‘-시-‘가 결합합니다. ‘-시-‘는 단형사동에서는 한군데에만 쓰일 수 있지만, 장형사동에서는 두 군데에서 쓰일 수 있습니다.

  • 선생님께서 진이에게 책을 읽히다. (문장의 유일한 주어인 ‘선생님’을 높임)
  • 선생님께서 진이$i$에게 [$e_i$ 책을 읽]게 하다. (사동주 ‘선생님’를 높임)
  • 아이들이 선생님$i$께 [$e_i$ 책을 읽으]게 했다. (피사동주 ‘선생님’을 높임)
  • 박 선생님께서 우리 선생님$i$께 [$e_i$ 책을 읽으]게 하다. (사동주, 피사동주 모두 높임)

한국어의 주어는 재귀대명사 ‘자기’의 선행사가 됩니다. 단형사동은 단문, 장형사동은 복문 구조를 이루고 있기 때문에 ‘자기’의 결속 양상 또한 다릅니다. 다음 예문과 같습니다.

  • 진이가 아이에게 자기 옷을 입힌다. (진이의 옷을 입힘)
  • 진이가 아이$i$에게 [$e_i$ 자기 옷을 입]게 한다. (ㄱ. 진이의 옷을 입힘, ㄴ. 아이의 옷을 입힘)

의미적 차이

단형사동은 직접사동(주어가 행동 주체가 되어 직접 행동)의 의미가 강합니다. 반면 장형사동은 간접사동(주어는 지시만 하고 피사동주가 스스로 행동)의 의미가 강합니다. 다음 예문과 같습니다.

  • 진이가 갓난아이에게 옷을 입혔다. (주어 ‘진이’가 직접 아이의 옷을 입혀줌)
  • *진이가 갓난아이에게 옷을 입게 했다. (피사동주 ‘갓난아이’가 스스로 옷을 입음 → 의미상 비문)

동사에 따라서는 사동주가 직접 행위에 참여할 수 없는 경우도 있어서, 이때는 단형사동이라도 간접사동으로만 해석되는 경우가 있습니다. 예컨대 ‘읽히다’, ‘웃기다’, ‘울리다’와 같은 경우가 가리키는 사태에서 사동주는 지시만 할 뿐, 읽고 웃고 우는 행위는 피사동주가 스스로 할 수밖에 없기 때문입니다.

하지만 약간의 뉘앙스 차이는 여전히 존재합니다. 예컨대 다음과 같습니다.

  • 읽히다 : 수업시간에 교사가 학생에게 읽도록 시킨다든지 하는 보다 적극적인 사역.
  • 읽게 하다 : 읽으라고 책만 사 놓고, 읽는 것은 확인하지 않는다든지 하는 정도로 소극적인 사역.

즉 단형사동이 간접사동으로 해석되더라도, 대응되는 장형사동보다는 더 직접적이고 적극적인 사역을 나타낸다는 것입니다. 그러나 장형사동을 쓸 것인지, 단형사동을 쓸 것인지는 상황에 따라 다를 수 있습니다. 몇 가지 예를 보겠습니다.

  • (교통사고로 아이를 잃은 부모가 흐느끼며) 내가 아이를 죽였어 : 아이의 죽음에 대한 직접적 행위를 하지 않았음에도 괴로움과 책임감을 느껴서 이렇게 말할 수 있음
  • (막 출발하려는 버스를 향해 손을 흔들면서) 저 좀 태워 주세요 : 사동주는 피사동주(화자)를 직접 버스에 오르게 하는 등 직접적인 행동을 할 필요는 없고 그저 버스를 세워 주기만 하면 되지만, 사동주(버스 기사)의 선택이 절대적이므로 단형사동을 씀.
  • (장애인에게 양보를 하자는 취지에서) 장애인을 먼저 타게 합시다 : 실제로는 장애인의 휠체어를 들어준다든지 해서 사동주가 적극적으로 개입할 수 있지만, 피사동주(장애인)의 자발적 의지를 존중하기 위해 장형사동을 씀.

Comment  Read more

한국어의 피동 표현

|

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

태(態)

태(態, voice)의미역이 문법적 관계로 실현되는 방식을 가리키는 문법범주입니다. 동사에 붙는 문법적 표지(예컨대 어미)로 표시됩니다. 와 관련해 행위자, 피행위자의 두 참여자를 갖는 사태가 문장으로 표현될 때 크게 두 가지 부류로 나눠 생각해볼 수 있습니다.

첫번째는 능동문입니다. 한국어의 일반적인 문장 연결규칙에 따라 행위자가 주어로, 피행위자가 목적으로 실현되는 문장입니다. 다음 예문과 같습니다.

  • 경찰이 도둑을 잡았다.

두번째는 피동문입니다. 능동문에서 행위자, 피행위자 등장 순서에 역전이 일어나고, 동사에 이것을 알리는 표지(예문에서는 -히-)가 붙은 문장입니다. 다음과 같습니다.

  • 도둑이 (경찰에게) 잡다.

위 예문에서 살펴볼 수 있듯, 능동문을 피동문으로 바꾸는 데(즉 가 바뀌는 데) 아래 세 절차를 따릅니다.

  1. 능동문의 목적어는 피동문의 주어가 된다.
  2. 능동문의 주어는 부사어로 나타나거나 생략된다.
  3. 동사의 형태가 바뀐다.

한편 피동문의 정의상(능동문의 목적어가 피동문의 주어가 됨) 타동문(목적어를 가진 문장)으로부터만 피동문이 만들어질 수 있습니다.

한국어의 피동 표지

한국어 피동문 동사에 붙는 피동 표지는 크게 ‘접미사’와 ‘보조동사구성’이 있습니다. 차례대로 살펴보겠습니다.

접미사에 의한 피동 표현

피동 접미사는 -이/히/리/기-가 있습니다. 다음 예문과 같습니다.

  • 보- → 보-
  • 먹- → 먹-
  • 들- → 들-
  • 믿- → 믿-

그러나 한국어의 모든 동사가 위와 같은 피동접미사를 취할 수 있는 건 아닙니다. 다음과 같은 종류의 동사에는 -이/히/리/기-가 붙을 수 없습니다.

  • 수여 동사 : 주다, 받다, 드리다, 바치다 등
  • 수혜 동사 : 얻다, 잃다, 찾다, 돕다, (은혜를)입다, 사다 등
  • 지각 동사 : 알다, 배우다, 바라다, 느끼다 등
  • 대칭 동사 : 만나다, 닮다, 싸우다 등
  • 좋아하다, 슬퍼하다, 사랑하다, 공부하다, 조사하다 등
  • 모든 사동사

접미사에 의한 피동표현에서 능동문에서 주어였던 것은 어떻게 표시가 될까요? 유형별로 살펴 보겠습니다.

  • 유정 명사인 경우 ‘-에게’ : 경찰이 도둑을 잡았다. → 도둑이 경찰에게 잡혔다.

  • 무정 명사인 경우 ‘-에’ : 흰 눈이 온 들판을 덮었다. → 온 들판이 흰 눈에 덮였다.

  • 능동문에 이미 ‘-에게’나 ‘-에’가 있는 경우에는 ‘-에 의해(서)’

    김 씨가 박 씨에게 집을 팔았다. → 집이 {*김 씨에게, 김 씨에 의해} 박 씨에게 팔렸다.

    도둑들이 보물을 강 밑에 묻었다. → 보물이 {*도둑들에게/도둑들에 의해} 강 밑에 묻혔다.

그러나 예외도 상당히 많습니다. 아래 예문은 유정 명사에 해당해 ‘-에게’를 써야 할 것 같지만, ‘-에 의해(서)’가 자연스러운 표현임을 확인할 수 있습니다.

  • 진이가 종이를 찢었다. → 종이가 진이{*에게/에 의해} 찢겼다.
  • 진이가 전화를 끊었다. → 전화가 진이{*에게/에 의해} 끊겼다.

보조동사 구성에 의한 피동표현

다음과 같이 보조동사 구성 -어지-로 피동 표현을 만들 수도 있습니다.

  • 만들- → 만들어지-
  • 이루- → 이루어지-

피동 보조동사 구성 -어지-는 피동 접미사에 의한 피동 표현이 불가능한 경우에 그 빈 자리를 메워 주는 구실을 하는 것으로 보입니다. 사동문이 주로 이 방식으로 피동문을 만듭니다.

  • 의견이 좁혀지다.
  • 사실이 밝혀지다.
  • 대회가 늦추어지다.
  • 얼룩이 지워지다.

피동 접미사가 붙을 수 있는 동사에도 -어지-가 연결되는 경우가 있습니다.

  • 나뉘다-나누어지다
  • 닫히다-닫아지다
  • 믿기다-믿어지다
  • 쓰이다-써지다
<참고>
위 예문의 '쓰이다'는 동사 '쓰다'에 피동 접미사 '-이-'가 붙은 형태입니다. 다음 예문과 같습니다.
예) 철수가 비석에 제작 경위를 썼다(주동문) → 비석에 제작 경위가 쓰여 있었다(피동문)

그런데 이와 별개로 타동사의 목적어가 주어가 되면서 타동사에 '-어 있-'이 결합하면 결과상(과거 사태의 결과가 지속됨)을 나타낼 수 있었습니다. 이런 방식이 중세 국어에서는 꽤 생산적이었습니다. 다음 예문과 같습니다.
예) 비석 제작 경위가 써 있었다. (제작 경위를 쓴 결과가 지속됨)
예) 벽에 글씨가 써 있다. (글씨를 쓴 결과가 지속됨)
예) 방에 불이 켜 있다. (불 켜진 상태가 지속됨)

보조동사 구성에 의한 피동 표현에서 능동문의 주어는 주로 -에 의해로 실현됩니다. 다음 예문과 같습니다.

  • 정부가 통일세 관련 특별법을 만들었다. → 통일세 관련 특별법이 정부에 의해 만들어졌다.

하지만 -에게, -에, -로(부터)가 실현되는 경우도 있습니다.

  • 진이는 민이를 길들였다. → 민이는 진이에게 길들여졌다.
  • 날카로운 말이 내 가슴을 할퀴었다. → 날카로운 말 내 가슴은 할퀴어졌다.
  • 흙이 그 자리를 메웠다. → 그 자리는 흙으로 메워졌다.
  • 세계 전체가 압력을 가했다. → 세계 전체로부터 압력이 가해졌다.

피동 보조동사 구성 -어지-와 관련해 특이한 사례들이 있습니다. 다음과 같습니다.

  • 넘어지다, 떨어지다, 쓰러지다, 무너지다, 부러지다, 자빠지다

위 동사들을 살펴보면 ‘넘어지다’와 ‘떨어지다’를 제외하면 어간의 어원을 밝혀적지 않는다는 걸 확인할 수 있습니다. 예컨대 ‘무너지다’의 경우 ‘문다’라는 동사의 어간 ‘문-‘에 피동 보조동사 구성 -어지-가 결합해 ‘무너지다’가 되는 것이 윗 글에서 언급된 사례였습니다. 그러나 한국어에는 붕괴(崩壞)라는 의미의 ‘문다’라는 동사가 없으므로 특수한 사례로 취급하는 것입니다.

그런데 이들 동사들도 피동의 의미가 있고, 그 짝이라 할 만한 타동사들도 있습니다. 그 타동사들은 능동문에서 -뜨리다를 취하면서 피동 표현시 그것을 -어지다로 바꾸어 규칙적으로 피동사를 만드는 듯한 모습을 보여줍니다.

  • 넘어뜨리다-넘어지다, 떨어뜨리다-떨어지다, 쓰러뜨리다-쓰러지다, 무너뜨리다-무너지다, 부러뜨리다-부러지다, 자빠뜨리다-자빠지다

-어지-가 있어 피동 표현 같지만 피동문이 아닌 구문들도 꽤 있습니다. -어지-는 피동문을 만들 수 있는 타동사뿐 아니라, 그럴 수 없는 형용사/자동사와도 결합하기 때문입니다. -어지-가 형용사와 결합하면 상태 변화를 나타냅니다. 다음 예문과 같습니다.

  • 날씨가 좋아졌다.
  • 길이 넓어졌다.
  • 여드름이 없어졌다.

-어지-가 자동사와 결합하면 어떤 힘에 의해 그렇게 됨을 나타냅니다. 다음 예문과 같습니다.

  • 졸업을 하고 나니 선생님 댁에 잘 가지지 않는다.
  • 억지로 울려니까 잘 울어지지 않는다.

위 예문들은 의미상 피동과 상통하는 것 같지만, 짝이 되는 능동문이 없다는 점에서 특이합니다. 피동문은 ‘짝이 되는 능동문이 존재’하고, ‘동사에 피동 표지가 붙는다’는 특징을 가지고 있으므로, 형용사나 자동사와 결합한 -어지- 구문을 피동문으로 인정하기 어렵습니다.

한편 피동사에 다시 -어지-가 덧붙는 경우도 있습니다. 대개 -어지-를 군더더기로 써 잘못 쓴 경우입니다. 다음 예문의 경우 -어지-를 빼고 쓰는게 맞습니다.

  • 요즈음 젊은이들에게 잘 {*읽혀지는/읽히는} 소설
  • 생각{*되어지다/되다}

그런데 때에 따라서는 두 형태가 공존하면서 독자적인 영역을 만들어 가는 양상을 보입니다.

  • 이 논문은 주제가 매우 참신해 보인다(*보여진다).
  • 이 논문은 주제가 매우 참신하다고 보여진다(??보인다).

X되-, X당하-, X받-

어근(語根)이라 할 만한 요소($X$)에 되-, 당하-, 받-이 붙어 피동 표현을 만드는 경우도 잇습니다. 다음 예문과 같습니다.

  • 정복하다-정복되다
  • 강요하다-강요받다
  • 모욕하다-모욕당하다
  • 배치하다-배치되다/배치받다
  • 오해하다-오해되다/오해받다

피동의 기능

피동의 기능 가운데 첫번째로 언급할 만한 내용은 행위자 논항에 스포트라이트가 비춰지지 않게 한다는 것입니다. 피동문으로 표현할 경우 행위자 정체를 모를 때 행위자를 표현하지 않을 수 있고, 행위자의 정체 또한 밝히지 않을 수 있게 할 수 있습니다. 다음 예문처럼 누가 살인자인지 모르는 상황이라면 행위자 정체를 굳이 밝히지 않은 피동문이 더 자연스럽습니다.

  • 능동문 : 누군가가 진이를 살해했다.
  • 피동문 : 진이가 살해되었다.

피동문은 피행위자 논항을 맨 앞에 적기 때문에 피행위자 논항을 부각시키는 효과가 있습니다. 다시 말해 피동문은 사태를 (행위자 대신) 피행위자의 관점에서 기술한 문장이라는 말입니다. 다음 예문에서 그 뉘앙스 차이를 느낄 수 있습니다.

  • 능동문 : 민이가 진이를 잡았다. (민이가 잡았다는 사태를 부각)
  • 피동문 : 진이가 민이에게 잡혔다. (진이가 잡혔다는 사태를 부각)

피동문은 주제 연속성(topic continuity)을 보장합니다. 다음 예문처럼 연이어 있는 문장이라면 괄호 안 능동문보다는 괄호 밖 피동문이 더 자연스럽습니다. 진이를 주인공으로 한 주제의 연속성이 보장되고 있기 때문입니다.

  • 진이는 아침에 일어나서 밥을 먹고 학교로 향했다.

    진이는 길을 건너다가 차에 치였다. (차가 진이를 치었다)

    진이는 병원으로 실려 갔다. (구급차가 진이를 병원으로 싣고 갔다)

피동문은 주어에만 적용될 수 있는 통사과정을 피행위자에 적용하기 위한 사전 조처 성격도 있습니다. 다음 예문과 같습니다.

  • 그$i$가 [$e_i$ 대통령 후보로 지명되]려고 노력했다.

    *그$i$가 [당원들이 $e_i$ 대통령 후보로 지명하]려고 노력했다.

능동문과 피동문이 대응을 이루지 않는 경우

능동문에 대응하는 피동문, 혹은 피동문에 대응하는 능동문이 존재하지 않는 경우가 꽤 있습니다. 유형별로 살펴보겠습니다. 우선 능동문의 목적어가 무정명사인 경우 능동문에 대응하는 피동문이 존재하지 않을 수 있습니다. 다음 예문과 같습니다.

  • 진이가 칭찬을 들었다. / ?칭찬이 진이에게 들렸다.
  • 진이가 책을 다 읽었다. / ?책이 진이에게 다 읽혔다.
  • 진이가 문고리를 잡았다. / ?문고리가 진이에게 잡혔다.
  • 진이가 길을 물었다. / ?길이 진이에게 물어졌다.

의지나 의도를 가진 주체를 설정하기 어려운 경우엔 피동문에 대응하는 능동문이 존재하지 않을 수 있습니다. 예문과 같습니다.

  • *누가 날씨를 풀었다. / 날씨가 풀렸다.
  • *누가 더위를 한풀 꺾었다. / 더위가 한풀 꺾였다.
  • *누가 일을 산더미처럼 쌓았다. / 일이 산더미처럼 쌓였다.

능동문의 주어가 무정명사인 경우 피동문에 대응하는 능동문이 존재하지 않을 수 있습니다. 예문과 같습니다.

  • ?나무가 열매를 열었다. / 나무에 열매가 열렸다.
  • ?바람이 문을 열었다. / 문이 바람에 열렸다.

그 원인에는 동사, 상황, 인간 주어 중심의 한국어 특성을 반영한 게 아닌가 하는 해석도 제기됩니다. 영어와 비교해 세 가지를 살펴보겠습니다. 각각 위 세 가지 case에 대응됩니다.

영어는 사건, 속성을 명사구로 표현하는 일이 흔합니다. 반면 한국어는 동사, 형용사로 풀어 표현하는 것이 자연스럽습니다.

  • (공항 안내 방송에서) Your attention, please. / 안내 말씀 드리겠습니다.
  • He is a good swimmer. / 그는 수영을 잘 한다.

영어는 주어 자리에 인간을 놓는 경향이 강합니다. 반면 한국어는 인간을 전면에 드러내지 않고 상황 중심으로 표현하는 경향이 있습니다.

  • I’ve lost a button. / 단추가 떨어졌다.
  • Finally we’ve come to conclusion. / 마침내 결론을 내렸다.

영어는 무정물을 주어로 한 타동 표현을 자연스럽게 사용합니다. 반면 한국어는 인간을 주체로 한 표현이나 상황 중심적인 표현으로 바꾸는 것이 자연스럽습니다.

  • This road will take you to the station. / 이 길을 따라가면 역이 나옵니다.
  • Horror made her dumb. / 그녀는 두려워서 말 한 마디 못 했다.

한편 한국어에서는 피동문을 만들 수 없는 타동사들이 존재합니다. 이 경우엔 능동문에 대응하는 피동문이 존재하지 않는다는 이야기입니다. 다음과 같습니다.

  • 선생님이 학생을 가르친다.
  • 진이가 심리학을 공부한다.
  • 이웃을 돕는다.
  • 아이들을 웃긴다.

피동과 타동성

피동의 정의상 타동문(목적어를 가진 문장)으로부터만 피동문이 만들어질 수 있습니다. 아울러 능동문의 목적어는 주어가 되고, 새로운 목적어가 만들어지지 않으므로 피동문은 대개 자동문입니다. 그러나 이러한 경향성에 예외가 좀 있습니다. 목적어가 있는 피동문이 존재한다는 이야기입니다. 다음 예문과 같습니다.

  • 개가 토끼를 다리를 물었다. → 토끼가 개에게 다리를 물렸다.

위 예문의 경우 능동문에 목적어가 둘 있어서, 둘 중 하나(토끼)가 피동문의 주어로, 나머지(다리)가 피동문의 목적어로 남았다는 해석이 가능합니다. 그러나 피동문의 주어가 무정물일 경우에는 수용성이 떨어집니다. 다음 예문과 같습니다.

  • 철수가 책상을 귀퉁이를 잡았다. → ??책상이 철수에게 귀퉁이를 잡혔다.

다만 무정물이 특정 유정물의 소유가 되는 등 유정물의 이해관계와 밀접한 관련이 있다면 수용성이 높아집니다. 다음 예문과 같습니다.

  • 사람들이 내 차를 문짝을 수없이 긁었다. → 내 차는 문짝을 수없이 긁혔다.

위 예문(내 차를 문짝을)이나 첫번째 예문(토끼를 다리를)처럼 두 목적어가 전체-부분 관계일 때 목적어가 잔류하는 피동문이 가능한 걸 확인했습니다. 그러나 상위개념-하위개념, 대상-수량 같은 관계일 때에는 목적어가 잔류하는 피동문이 불가능합니다. 다음 예문과 같습니다.

  • 상위개념-하위개념 : 바둑이가 아이들을, 여자아이들을 물었다. → *아이들은 바둑이에게 여자아이들을 물렸다.
  • 대상-수량 : 주인은 강아지를 세 마리를 팔았다. → *강아지가 주인에 의해 세 마리를 팔렸다.

한편 아래 예문처럼 능동문에 목적어가 둘 있지 않아도, 피동 주어(아버지)와 목적어(비상금)가 소유주-소유물 관계일 때 목적어 있는 피동문이 성립할 수 있습니다. 아울러 그것이 ‘피해’의 의미를 가질 때 잘 쓰입니다.

  • 어머니가 아버지에게서 비상금을 빼앗았다. → 아버지는 어머니에게 비상금을 빼앗겼다.
  • 진이는 월급을 깎였다. / *진이는 빚을 깎였다.

Comment  Read more

최대 유량 알고리즘 (2)

|

이번 글에서는 최대 유량 알고리즘(Max Flow Algorithm)edge cut으로 수행하는 기법을 살펴보도록 하겠습니다. 이 글은 고려대 김선욱 교수님 강의와 위키피디아를 정리했음을 먼저 밝힙니다. 그럼 시작하겠습니다.

concept

최대 유량 알고리즘이란 가중치가 있는 방향그래프(directed graph) $G$와 시작(source) 노드 $s$, 도착(sink) 노드 $t$가 주어졌을 때 각 엣지의 용량(capacity)을 고려하여 $s$에서 $t$로 흘려보낼 수 있는 최대 유량(flow)을 구하는 알고리즘을 가리킵니다. 최대 유량을 edge cut으로 수행하는 기법에서 용량(capacity), 유량(flow) 등 기본적인 용어와 flow conservation 등 제약요건은 포드-풀커슨 알고리즘과 동일합니다. 추가된 내용은 다음과 같습니다.

우선 reverse edge가 존재하지 않는다고 둡니다. 예컨대 노드 $u$에서 $v$로 향하는 엣지가 있다면 $v$에서 $u$로 향하는 반대 엣지는 그래프에 없어야 합니다.

유량값(value of flow) $f$(혹은 |$f$|)는 다음과 같이 정의됩니다.

  • 시작 노드 $s$에서 나가는 유량 - 시작 노드 $s$로 들어오는 유량

아래 그래프에서 $f$는 나가는 유량(3)만 있으므로 3이 됩니다.

위 그래프에 edge cut을 수행해 두 개 부분그래프로 쪼개 보겠습니다. $s$가 속한 부분그래프를 $S$, $t$가 속한 부분그래프를 $T$라고 둡니다. 이 때 $S$와 $T$ 사이의 순 유량(net flow) $f$와 용량 $C$는 각각 다음과 같이 정의됩니다.

[\begin{align} f\left( S,T \right) &=\sum _{ u\in S }^{ }{ \sum _{ v\in T }^{ }{ f\left( u,v \right) } } -\sum _{ u\in S }^{ }{ \sum _{ v\in T }^{ }{ f(v,u) } } \ c\left( S,T \right) &=\sum _{ u\in S }^{ }{ \sum _{ v\in T }^{ }{ c\left( u,v \right) } } \end{align}]

예를 들어보겠습니다. 아래 그래프를 빨간색 선을 따라 edge cut을 수행했다고 칩시다. $f(S,T)$는 $S$에서 $T$로 가는 유량을 $T$에서 $S$로 가는 유량을 빼서 구하므로 4-1=3이 됩니다. $c(S,T)$는 $S$에서 $T$로 가는 용량만을 따지므로 2+3=5가 됩니다.

이번엔 파란색 선을 따라 edge cut을 수행했다고 칩시다. $f(S,T)=4-1=3$입니다. $c(S,T)=3+3=6$입니다.

정리 및 증명

edge cut으로 최대 유량을 구하는 데 있어 두 가지 중요한 정리가 있습니다. 첫번째는 어떻게 cut을 하더라도 유량값($f$)은 동일하다라는 사실입니다. (fot any cut ($S,T$), $f(S,T)=$|$f$|) 위 그림 예제로 설명해 보자면 빨간색 선을 따라 cut을 하든, 파란색 선을 따라 cut을 하든 $f$는 3으로 같습니다. 이는 다른 선을 따라 cut을 해도 마찬가지입니다.증명은 다음과 같습니다.

두번째 중요한 정리는 $S$와 $T$를 어떻게 자르든 $S,T$ 사이의 유량은 용량보다 작다는 것입니다. (The value of any flow)≤capacity of any cut)

algorithm

이같은 사실을 활용해 우리는 모든 가능한 경우에 대해 edge cut을 수행한 뒤 그 가운데 가장 작은 용량(capacity)을 선택하면 그것이 전체 그래프의 최대 유량이 됨을 알 수 있습니다. 위 그림 예제로 설명해보자면, 빨간색 선으로 잘라보고, 파란색 선으로 잘라보고, 다른 모든 가능한 경우의 수에 대해 잘라봐서 $c(S,T)$ 값을 각각 구하고, 이 가운데 가장 적은 값을 최대 유량으로 반환하는 겁니다. 한편 만일 최소 비용으로 그래프의 최대 유량을 높이고 싶다면 가장 적은 $c(S,T)$에 대응하는 엣지들의 용량을 높여주면 됩니다.

Comment  Read more