d라이브러리









컴퓨터는 이제 일정한 틀을 가진 신문의 사건기사를 읽고 요약할 수 있는 능력을 갖추었지만 인간의 복잡한 감정표현을 이해하기는 아직 역부족이다.

자연언어란 사람들이 일상 생활을 하는 중에 사용하는 언어이다. 예를 들면 한국어, 영어, 일본어 등이다. 사람들은 자연언어를 통해서 다른 사람들에게 광범위한 생각을 표현할 수 있다. 충분히 주의를 기울인다면 사람들은 생각할 수 있는 거의 모든 개념을 다른 사람에게 공통의 자연언어로 전달할 수 있다. "내가 돌에 발이 채었다"와 같이 쉽게 표현할 수 있는 개념도 있고 수 시간 동안 설명을 해야 하는 것도 있다. 자연 언어의 기본적인 특성은 그 언어를 말하고 이해하는 사람들에게 일어날 수 있는 거의 모든 개념을 표현할 수 있다는 것이다.

풍부한 표현력을 가진 인공언어(?)

'자연'이라는 단어는 인공언어와의 뚜렷한 대조를 강조한다. 인공언어는 제한된 범위의 개념에 대해 풍부한 표현력을 갖도록 만들어진 것이다. 악보를 쓰기 위한 음부호는 인공언어이다. 이 언어는 어느 음표가 어느 박자로 얼마나 길게 연주되어야 하는 지를 표현하기 위해서는 놀라울 정도로 간결 명료하다.

그러나 이와 같은 정도의 개념 만이 이 언어로 표현할 수 있는 전부이다. 음부호로 내가 돌에 발이 채었다는 사실을 표현하는데에는 아무 쓸모가 없다. 다른 종류의 인공언어로서 프로그래밍 언어를 들 수 있다. 이 경우는 흥미롭다. 왜냐하면 자연언어와 마찬가지로 광범위한 개념을 표현할 수 있기 때문이다. 예를 들면 LISP라는 프로그래밍 언어는 확장가능한 언어이다. 따라서 어떤 개념이 현 상태의 언어로는 표현이 어렵다면 언제나 마음대로 개량할 수 있다. 그러나 프로그래밍언어는 컴퓨터에 대한 적용을 염두에 두고 만들어진 것이어서, 이에 따라 그 언어의 형태도 바뀌어져 있다. 프로그래밍 언어는 컴퓨터가 쉽게 해석할 수 있도록 만들어진 것이다.

자연언어처리에 대한 연구는 컴퓨터가 자연언어를 사용할 수 있게끔 하는 데 관심을 둔다. 이에는 두 가지 이유가 있다. 첫째 이유는 자연언어를 사용할 수 있는 컴퓨터는 분명히 유용한 도구라는 점이다. 즉 컴퓨터를 이용해서 필요한 정보를 찾아내거나 어떤 처리를 하고자 하는 사람은, 컴퓨터와 대화하기 위한 특별한 중간 매체를 알 필요없이 직접 원하는 것을 얻을 수 있다는 것이다. 사람들은 프로그래밍 언어의 뉘앙스를 배울 필요도 없고, 이미 배웠지만 오랫 동안 사용하지 않아 잊어버려 다시 배워야 한다는 걱정거리를 덜 수 있다. 자연언어를 사용할 줄 아는 컴퓨터는 평상적인 글을 읽어 두었다가, 사람들이 요구할 때 그 글의 요약을 만들어 주거나 여러 가지 글을 읽고 종합하여 보고서를 만들어 줄 수도 있을 것이다.

자연언어 처리의 두번째 연구 동기는 이 연구를 함으로써 인간의 언어와 정신이 어떻게 작용하는가에 대한 이해를 증진시킬 수 있다는 데에 있다. 컴퓨터가 언어를 사용할 수 있게 하는 기술을 개발하기 위해서는 우리는 우선 언어란 무엇인가에 대한 명확한 대답을 할 수 있어야 한다. 또 우리가 표현하고자 하는 개념이 어떻게 컴퓨터에 표현될 수 있는지를 정확히 말할 수 있어야 한다. 컴퓨터 프로그래밍을 하기 위해서는 이러한 사항에 대한 정확하고 자세한 배려가 있어야 한다. 언어이론을 프로그램하여 써보지 않으면 밝혀지지 않을 수도 있는 이론의 결함, 모순, 불완전한 영역 등을 프로그램하여 컴퓨터에 구현함으로서 실증적으로 알아낼 수 있다.
 

(그림1)


구성규칙과 의미규칙이 결합
 

(그림2) 특별한 정보가 없으면 하위개념은 상위개념의 성질을 '대부분' '는-일종' '는-이다'관계에 의해 이어 받는다.


무슨 문제를 풀든지 간에 그 문제를 잘 표현만 하면, 어려운 문제가 쉬운 문제로 환원될 수 있다는 것을 경험적으로 알 수 있다. 일반적으로 어느 대상을 표현가기 위해서는 그 대상에 맞는 표현 방법이 있다. 각 표현 방법에는 표현(representation)을 구성하는 구성규칙(syntax)과 그 표현에 의미를 주는 의미규칙(semantics)이 있기 마련이다.

자연언어의 구성규칙 (또는 구문규칙)이란 동사나 명사가 다른 품사와 합쳐져서 어떻게 문장이 만들어지는가를 기술한다. 자연언어의 의미규칙은 문장과 그 문장이 말하고자 하는 대상, 관계, 행위, 사건 간의 관련성에 대한 언급을 한다. 예를 들어 "먹는다 가 강아지 를 사과"는 문장이 안되며, "강아지가 사과를 먹는다"고 해야 문장이 되는 것은 문장의 구성규칙으로 규정할 수 있다. "돌이 사과를 먹는다"는 구성규칙에는 맞지만, '돌'이라는 무생물이 무엇을 먹을 수 없다는 의미규칙이 있으므로 우리가 사는 세계에서는 이 문장이 이상하다는 것을 의미규칙에 의하여 알 수 있다.

모든 표현은 대상과 그 대상 간의 관계를 언급할 수 있는 방법을 가지고 있다. 가장 대표적인 표현으로서 '의미망'(semanticnet)이 있다. 각 대상은 원 안에 그 대상의 명칭을 써서 표현하고, 각 대상 간의 관계는 그 대상을 뜻하는 원 사이에 화살표를 긋고 그 화살표 위에 관계에 대한 명칭을 부여한다. 예를 들어 "이 물건은 빨간 장난감 벽돌이다"에 대한 표현은 (그림1)과 같다. '이 물건'은 벽돌이니까 우리가 본 벽돌 중에 12번째 벽돌이라 가정하여, '벽돌12'라는 임의의 명칭을 부여했다. '는ㅡ이다'(isㅡa)라는 관계에 의해 벽돌12는 벽돌이다. 그리고 벽돌12는 장난감이다를 표현했고, 그 '색깔'은 빨강임을 표현하고 있다.

또 다음과 같은 사실이 추가되었다고 하자.

(1) 벽돌과 쐐기는 블록의 일종이다.
(2) 블록은 대부분 파란 색이다.
(3) 벽돌은 대부분 빨간 색이다.
(4) 쐐기는 대부분 파란 색이다.
(5) 이 물건은 벽돌이다.
(6) 이 물건은 쐐기이다.

(그림2)에서 보는 바와 같이 '는ㅡ일종'(ako : a kind of)이라는 새로운 관계로 사실(1)를 표현하고 있다. (4)의 사실은 직접적으로 표현은 되어있지 않다. 왜냐하면 쐐기는 블록의 일종이고 블록의 색은 대부분 파랑이므로 '는ㅡ일종' 관계에 의해 색깔에 대한 정보가 전달된다. 따라서 쐐기18을 포함하여 어느 쐐기든지 특별한 언급이 없는 한 그 색깔은 파란색이다. 그러나 벽돌은 블록의 일종이지만, 그 색깔이 대부분 빨갛다고 특별히 언급하였으므로, 대부분의 벽돌은 '는ㅡ이다' 관계에 의해 빨갛다. 이러한 방식으로 개개의 대상의 성질을 상위 개념의 성질을 이어 받게 구성함으로써 표현의 경제성과 일관성을 유지할 수 있다.

의미망을 이용하여 신문 기사를 읽고 요약을 하는 방법을 생각해보자. 대부분의 신문 기사는 매일 비슷한 대상이나 행위, 사건을 비슷한 방법으로 기술하고 있다. 따라서 이러한 사실을 표현하는 의미망을 묶어서, 일정한 '틀'(frame)을 만든다. 틀에 의하여 한 문장 또는 한 사건에서 대표적으로 일어날 수 있는 것을 유추할 수 있다.

예를 들면 '가다'라는 동사가 있는 문장안에는 목적지가 언급되어 있다. '지진'사건에는 '단층'과 '지진 강도'에 대한 언급이 있다. 이러한 사실을 의미망으로 구성하여 틀을 만들고, 구체적인 사항을 찾는 규칙만 만들면 요약을 쉽게 할 수 있다.
 

(그림3) 신문기사를 위한 틀의 연결관계


지진에 대한 대부분의 기사는 지진이 일어난 장소, 시간, 사상자 수, 이재민수, 재산 피해액, 리히터 지진계에 의한 강도, 때에 따라서는 지질학적인 단층에 대한 보고가 있기 마련이다. 이것을 지진틀, 재해틀, 사건틀로 만들어 (그림3)과 같이 표현할 수 있다. 지진은 재해의 일종이고 재해는 사건의 일종이므로 사건과 재해에서 일어날 수 있는 항목을 지진틀이 이어받는다. 이제 틀 속에 비어 있는 항목을 어떻게 채울 것인가에 대한 규칙을 생각해 보자.

●지진강도는 1.0과 10.0 사이의 숫자를 찾아라.
●사망자 수를 알려면 '사망' 또는 '죽다'와 같은 단어 근처의 정수를 찾아라.
●재해액을 알려면 '원'이나 '달러'의 앞에 있는 수를 찾아라.
●날짜는 '오늘' '어제' '내일' 또는 '···요일'을 찾아라
●시간은 '···시···분' 이나 ''주위의 숫자를 찾아라.
●단층이 어디서 일어났는지 알려면 '단층이라는 단어 근처의 고유명사를 찾아라
●장소는 장소 이름을 찾아라.

이로서 다음과 같은 제하의 기사는 쉽게 분석할 수 있다.

지진 쾌이코를 강타하다

오늘 강도 8.5의 극도로 심각한 지진이 쾌이코를 강타하여 25명이 사망하고 5억 달러의 피해를 냈다. 쾌이코 대통령은 호츠빌라 단층부근의 강타 지역이 수년간 위험 지역이었다고 말했다.

이 기사에 대한 틀은 (그림4)와 같다. 각 항목에 채워진 값을 이용하여 이 틀에 맞추어 이미 만들어진 요약문의 괄호 안에 그값만 넣으면 쉽게 완성된 요약문을 얻을 수 있다. 여기서 채워지지 않는 항목은 지운다.

지진 요약문 양식

지진이 (날짜)(장소)에서 일어났다. (사망자)명의 사망자와 (피해액)의 재산 피해가 있었다. 강도는 리히터 지진계로 (강도)이며, 단층은 (단층)이었다.

괄호 안의 해당 항목을 (그림4)의 틀에 맞추어 채우면 다음과 같은 완성된 요약문이 나온다.

완성된 지진 요약문 양식

지진이 '오늘''쾌이코'에서 일어났다. '25'명의 사망자와 '5억 달러'의 재산 피해가 있었다. 강도는 리히터 지진계로 '8.5'이며, 단층은 '호츠빌라'이었다.

이러한 특정 기사를 위해 만들어진 특정한 방법으로 간단하게 요약문을 얻을 수 있지만, 다음과 같은 기사에 대해서는 이 방법이 얼마나 어리석은 것인가를 말해준다. 특정 목적을 위해 만들어진 방법은 진정한 이해를 했다고 볼 수 없다는 단적인 증거를 보여주고 있다.

지진 연구 중단되다

오늘 쾌이코 대통령은 지진 예측 연구를 위한 5억 달러에 달하는 25개의 제안을 거절했다. 본사의 쾌이코 특파원은 승인된 연구제안의 8.5배가 거부되었다고 추정했다. 대통령의 친근한 고문인 호츠빌라가 단층에는 문외한이어서 잘못했으리라는 소문이 나돌고 있다

이 기사도 앞에서 언급한 방법에 의해 (그림4)의 틀을 구성하여 앞의 기사와 같은 요약문을 얻을 것이다.

아직까지는 일반적인 표현 방법을 모르는 상태이지만, 이러한 특정 목적의 틀을 주의 깊게 만들면 얼마든지 응용 시스템을 만들 수 있다. 또 이러한 연구가 좋은 기사문 작성법으로도 응용될 수 있을 것이다.

컴퓨터는 삼각관계를 이해못한다. 복잡한 인간사에 관한 것이 아니고 단순히 물리적으로 일어날 수 있는 사건은 컴퓨터가 쉽게 이해할 수 있다. 그러나 "영희가 재영이를 사랑한다고 하자 철수는 울었다"와 같은 문장을 생각해 보자. 사랑한다고 말했는데 왜 딴 사람이 우는가에 대한 대답을 줄 주 있을 정도가 되어야지 이해를 했다고 할 수 있다. 사랑이 물음으로 이어지는 물리적인 인과규칙은 없으므로 인간의 문화적인 생활 양식, 목적 의식, 인생관, 각 개인의 도덕관 등을 표현하지 않고서는 '삼각관계'라는 해답을 도저히 줄 수가 없다.

위에서 살펴본 바와 같이 컴퓨터가 사람의 말을 완전히 이해할 수 있는 경지에는 아직 미치지 못했다. 그러나, 특정 목적에 맞게끔 주의 깊게 프로그램한다면 그 방면에는 매우 유용하게 쓰여질 수 있다. 그 예로는 정형화된 문서의 컴퓨터 번역으로서 번역사가 일년이 걸릴 일의 분량을 한달 내에 끝낼 수 있는 성능의 프로그램이 실용화되고 있다. 과학기술 문헌의 빠른 번역으로 외국의 정보를 빨리 흡수하고, 무역 문서의 정확한 번역은 충분히 할 수 있는 수준에 이르렀다. 또 컴퓨터에 저장된 정보를 찾아보는 데에도 특별한 컴퓨터 사용법을 배울 필요없이 비록 제한된 어구만을 사용하지만 자연언어를 사용할 수 있는 프로그램이 실용화 되고 있다.
 

(그림4) 지진사건 기사로부터 추출된 틀
 

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

1986년 08월 과학동아 정보

  • 최기선

🎓️ 진로 추천

  • 컴퓨터공학
  • 언어학
  • 심리학
이 기사를 읽은 분이 본
다른 인기기사는?