자연어 처리의 개요

 

프로로그와 자연어 처리 : 김길준. 이순희. 장광훈 공저, 홍진출판사, 1996, page 175~183

1. 관련연구 및 배경

2. 자연어와 인공어

3. 자연어와 관련된 학문 분야

4. 자연어 처리의 목적

5. 자연어 처리 기술의 개요 

6. 자연어 처리 기술의 역사

     (1) 1950 년대 이후 ~ 1960 년대 중반의자연어 처리 기술

     (2) 1960 년대 후반 ~ 1970 년의 자연어 처리 기술

     (3) 1970 년대의 자연어 처리 기술

     (4) 1980 년대의 자연어 처리 기술

1. 관련연구 및 배경

자연어가 자연 발생적으로 생긴 언어라고 해서 그 체계가 무질서할 리가 없다. 자연어의 체계에는 일정의 약속 사항이나, 법칙이 존재하고 있다. 한국어에는 한국어 고유의 법칙, 영어에는 영어 고유의 법칙이 존재하고 있다. 그것만이 아닌 모든 언어에 공통이면서 보편적으로 존재하고 있는 법칙도 있다고 생각할 수 있다. 자연어에 포함될 수 있는 이들 법칙을 주로 연구하는 학문을 언어학 (linguistics) 이라 부르고, 그 법칙을 문법 (grammar) 이라 부른다.

최근에 우리들이 자연어를 학습하거나 이해하는 과정의 연구가 인지심리학이다. 인공지능 연구에서는 자연어를 컴퓨터에 이해시키는 연구가 진행되고 있다. 이것을 자연어 이해 시스템 (natural language understanding system) 이라고 부르고 있다. 또한 자연어에 관한 문제는 철학인 논리학에서도 받아들여지고 있다. 이상과 같이 자연어를 학문적으로 연구하는 것이 인지과학이다. 인지과학에서는 자연어의 연구가 하나의 큰 기둥이 되고 있다. 또한 보다 좁은 의미이지만, 컴퓨터를 사용하여 자연어의 처리를 행하는 계산언어학 (computational linguistics) 도 있다. 이 학문은 진행 중에 있지만, 앞으로 인지언어학, 인공지능의 연구 등과 관련을 가지면서 언어학의 새로운 형태로 성장될 것으로 생각된다.

컴퓨터에서 자연어의 개념은 1945 년에 미국의 펜실베니아 대학에서 세계 최초의 진공관을 이용한 전자식 컴퓨터인 ENIAC 의 탄생과 동시에 구상되었다. 자연어가 기호 혹은 문자계열이 되면서 자연어 처리는 기호처리의 일반적인 형식이 되었다.
실제 1950 년대 후반부터 1960 년대 중반에 걸친 자연어 처리 기술의 연구는 기계번역 시스템의 연구를 중심으로 전개되었다. 당시의 기계번역 시스템의 연구는 의미 처리나 문맥 처리를 무시한 촘스키 (Chomsky) 가 제창한 변형문법을 기초로 한 구문론을 중심으로 상당한 진전을 가져왔다. 그래서 미국에서의 기계번역의 연구는 그 영향이 급속히 전 세계로 파급되었다.

자연어 처리의 연구는 1960 년대의 전반부터 의미정보 처리 (semantic information processing) 에 대한 연구의 중요성을 제창하였으며, 그 결과 후반에 MIT 의 인공지능 연구 그룹으로부터 상당한 성과를 얻었다. 이것이 Winograd 가 작성한 SCHRDLU 라고 불려지는 자연어 이해 시스템이다. SCHRDLU 는 대상세계에 관한 의미 처리까지 포함된 총합적인 자연어에 의한 질의응답 시스템으로서 최초에 작성된 기념비적인 시스템이다. 대상은 인공지능형 트리의 세계로, 질의응답 형태로는 'pick up the red block' 과 같은 질의 내용을 이해하고, 그 해석 결과로 붉은 atom을 갖는다. SCHRDLU 에 있어서 구문 해석은 형식문법을 사용하고, 의미단계에서는 추론 기능을 갖는 PLANNER 언어를 사용하여 대상물이나 속성 및 관계를 표현하고 처리한다. 예를 들면, 대명사의 처리는 대화와 대상세계에 관한 지식을 이용하여 대명사를 해석한다.

1970 년대에 들어서 자연어 처리의 연구는 기계번역 시스템의 연구로부터 자연어 이해 시스템의 연구로 크게 발전을 하였으며, 주로 그 내용은

의 방향으로 전진되었다. ①, ②, ③의 언어이해 시스템의 실현은 장기간의 연구 테마였으며, 일반적인 해결방법으로는 문제 분야를 좁게 한정하는 것이었다.

1980년대에 들어서서 종래 기억용량으로 문제된 부분들이 VLSI 기술의 진보와 컴퓨터 하드웨어의 향상으로 자연어 처리의 비약적인 해결책을 보았다.

한편, 유럽 공동체에서는 많은 언어 번역의 문제에 직면하면서, 1982년 가을부터 언어번역 시스템의 개발이 진행되었다. 프랑스, 캐나다에서도 동일한 형태의 계획을 하였으며, 우리 나라에서도 대학연구소 및 몇몇 컴퓨터 회사에서 개발이 진행되고 있었다. 또한 1982년부터 시작한 제5세대 컴퓨터 계획안에도 자연어 처리 기술의 개발이 큰 연구과제로되어, 인간과 제5세대 컴퓨터 사이에 훌륭한 대화기능을 실현하도록 하는 본격적인 기계번역 시스템의 개발이 계획되고 있다.

자연어 처리를 행하는 도구로서 종래는 Lisp 언어가 주로 사용되었다. 그러나 1980년대에 들어서면서 프로로그 프로그램 언어가 관심이 되었고, 언어학에서도 몬테규 문법 (Montague Grammar) 등이 자연어 처리 기술에 적극적으로 도입되었다.
자연어 처리는 컴퓨터에게 사람이 일상 생활에서 사용하는 언어를 이해시키고자 하는 것이다. 이를 위해서 기존의 컴파일러의 기본 문법이 되는 문맥 자유문법에 대한 처리를 이해하지 않으면 안된다. 즉 컴파일러 이론이 자연어 처리와 직접 관련이 있음을 의미한다.

최근에는 추론을 향한 자연어 처리 이론들이 출현하고 있으며, 이들은 논리언어를 기술 도구로 하고 있다. 특히 논리언어 중 자연어 처리를 목적으로 개발한 것이 프로로그 언어이다. 프로로그 언어를 이용하여 자연어를 처리할 때, 단어사전이 방대해진다. 이 결과로 초래되는 효율의 저하를 개선하기 위한 방안으로 비종단 기호간의 접속 관계의 신속한 파악과 불필요한 백트랙의 억제, 그리고 이를 위한 문법으로 변환하는 알고리즘을 제안하여 시스템을 개선하는 방안을 제시하고 있으며, 그 외 BUP 에서 고속화를 위한 방안을 제시하고 있다.

본 교재는 자연어 처리를 위한 기술적 환경과 논리언어를 이용한 자연어 처리에 있어서

2. 자연어와 인공어

한국어, 중국어, 영어, 프랑스어, 독일어 등과 같이 인간사회의 형성과 함께 자연발생적으로 생겨나고 세월의 흐름과 함께 진화하고 일상의 생활 속에서 서로 의사소통을  행하기 위한 수단으로서 사용되고 있는 언어 (language) 를 자연어라고 말한다.

컴퓨터 프로그램 언어는 우리들 인간이 인공적으로 만들어낸 언어로 인공어라고 불리어지고 있다. FORTRAN, COBOL, BASIC, PL/I 등은 인공어의 예이다. 컴퓨터의 세계에서 "언어" 라고 말하면 거의 이 인공어를 가리키고 있다. 그래서 이 인공어와는 다른 언어는 의미로 자연어라는 말을 사용하고 있으며, 이는 컴퓨터의 세계에서 잘 사용되고 있다.

3. 자연어와 관련된 학문 분야

자연어가 자연발생적으로 생긴 언어라고 해서 그 체계가 무질서할 리가 없다. 자연어의 체계에는 일정의 약속사항, 그렇지 않으면 법칙이 존재하고 있다.

한국어에는 한국어 고유의 법칙, 영어에는 영어 고유의 법칙이 존재하고 있다. 그것만이 아니고 모든 언어에 공통이면서 보편적으로 존재하고 있는 법칙도 있다고 생각할 수 있다.

자연어에 포함할 수 있는 이들 법칙을 주로 연구하는 학문을 언어학 (linguistics) 라고 부르고 있다. 그리고 그 법칙을 문법 (grammar) 이라고 부르고 있다.

최근에 우리들이 자연어를 학습하거나 이해하는 과정의 연구가 인지심리학 (cognitive psycho) 이다. 인공지능 (artificial intelligence) 연구에서는 자연어를 컴퓨터에 이해시키는 연구가 행해지고 있다. 이것은 자연어 이해 시스템 (natural language understanding system) 이라고 부르고 있다. 자연어에 관한 문제는 철학 및 논리학에서도 받아들여지고 있다.

이상과 같이 자연어는 학문적인 연구가 필요한 것이므로 그런 입장 때문에 학문이 제창되어지고 있다. 이것은 인지과학 (cognitive science) 으로 불려지고 있다. 인지과학에서는 자연어의 연구가 하나의 큰 기둥이 되고 있다. 역시 위보다 약간 좁은 의미가 있지만, 컴퓨터를 사용하여 자연어의 처리를 행하는 연구를 직접 가리키는 것으로서 계산언어학 (computational linguistics) 이 있다. 이 학문은 발전 도중에 있고 이론적인 징조가 정확하다고는 말할 수 없지만 앞으로 인지어학, 인공지능의 연구 등과 관련을 가지면서 새로운 성과가 기대되어지고 언어학의 새로운 paradaim 으로서 성장될 것이라고 생각되고 있다.

4. 자연어 처리의 목적

자연어 처리는 자연어를 컴퓨터에서 처리하는 것으로서, 그 목적을 아래의 3 가지로 요약할 수가 있다.

① 은 대량어 데이터 처리를 행하는 것보다 그 언어 데이터에 포함되어 있는 다른 언어의 수, 다른 말과 함께 사용되는 빈도분포, 문자 종류의 빈도분포 등 언어 데이터가 가지는 각종의 통계 데이터를 수집분석할 수가 있다. 시대와 함께 그것들이 어떻게 변화했는가를 조사할 수도 있다. 따라서 대량의 언어 데이터의 통계적 분석에 컴퓨터에 의지한 자연어 처리기술이 달성한 역할은 대단히 큰 것이다.
통계적인 분석만이 아니고 대량어 데이터를 소재로 KWIC (Key Word In Context) 등을 작성하고 언어학자의 연구를 도와서 '자료' 를 만드는 데에 자연어 처리가 위력을 발휘하는 장면도 근년에 증가해 가고 있다.

② 의 자연어 이해 시스템은 컴퓨터와 인간 사이에 존재하는 사용언어가 서로 다름으로써 생기는 불편의 해소를 목적으로 하는 시도이다.
주로 인공지능 연구자가 1970년대에 처음으로 받아들여서 현재까지 연구가 활발하게 진전되고 있는 것이다. 그 응용인 질문응답 시스템, 기계번역 시스템, 요약 시스템 모두 의미 이해를 포함한 자연어의 처리가 요구되고 있는 것이다. 그러나 곤란한 문제 해결에는 인간의 도움을 받아 인간과 협조해서 자연어 처리를 향상시킬 생각을 받아들였던 실용 시스템의 실현으로 이제는 그다지 곤란하지 않다고 생각된다.

마지막의 ③ 은 컴퓨터 상에 언어이해의 모델을 작성하고 그 움직임의 모양 때문에 인간의 언어이해의 과정을 미루어 추측하려고 하는 것으로서, 「자연어와 인공어」의 조목에서 설명했듯이 최근의 인지과학의 큰 연구과제가 되고 있다. 거기에서는 인간의 언어 이해에 있어서 추론 (inference) 의 방식, 상식 (commonsense) 의 이용, 기억의 구조 (memory organization) 가 큰 문제가 되고 있고, 이상의 어떠한 것도 지식 표현 (knowledge representation) 의 문제와 깊게 관련되어 있으며, 그것들의 해결은 ② 의 실현에 큰 역할을 다한다고 생각되고 있다.

5. 자연어 처리 기술의 개요

자연어 처리 기술은 대략 다음 5 개의 기술로 크게 나눌 수가 있다.

① 의 형태소 (morpheme) 는 문을 구성하는 최소의 언어 단위를 말한다. 특히 엄밀하게 언어학적으로 형태소를 단어 혹은 접두어 (prefix) 혹은 접미어 (subfix) 라고 생각해도 지장이 없다.
영어의 경우 형태소 처리의 예는 다음과 같다.

다음의 ② 의 구문 처리고 나아갈 수가 없으므로 형태소 처리 기술의 개발이 자연어 처리에서 중요한 연구 테마로 되어져 있다.
구문 처리에서는 문의 형태소 처리가 끝나면 문을 구성하는 형태소가 바로 유출 (인정) 되는 것을 전제로 처리가 이루어진다. 구문 처리는 구문 처리의 대상이 되는 문의 문법 규칙과 사전을 사용해서 문의 주술관계를 추출하거나, 수식/피수식의 관계를 유출하거나, 문이 평서문 (decla-rative sentence) 인가, 명령문 (imperative sentence) 인가, 의문문 (interogative sentence) 인가를 결정한다. 문법과 사전을 사용해서 문의 문법적인 구조 (이것을 구문이라 부른다) 를 밝히는 것이 구문 처리의 목적이다. 문이 어떠한 요소로서 구성되어져 있는가를 조사하는 (구문처리를 한다) 것을 parsing이라 부른다.

「구문 처리 기술」의 항에서 자세하게 설명하겠지만 효율이 좋은 구문 처리 기술로서 여러 가지의 것이 개발되고 있다. 형태소 처리 기술과 함께 자연어 처리 기술은 비교적 잘 연구되어져 있고 현재에는 문제가 적은 기술이다라고 할 수 있다.
구문 처리에서 오히려 문제인 것은 구문 처리가 가능한 대규모의 한국어 문법을 작성하거나 많은 분량의 사전을 개발하는 것이다.

③ 의 의미처리는 ①, ② 의 기술에 비해 개발이 늦어지고 있다. 구문 처리에서는 문의 주술관계 등을 유출하기 위해서 문법 규칙을 이용한다.

의미 처리는 구문 처리에서 의미적으로 보통 다른 문을 배제하거나 동형 이의어 (homograph) 의 애매함을 해소하거나 수식/피수식어에 관한 애매함을 해소하는 것이다. 이와 같이 의미 처리 기술의 개발이 어렵다는 것은 잘 알려져 있다. ④ 의 문맥 처리에는 ③ 이상의 어려운 문제가 존재하고 있다. 문맥 처리에서는 선행문과 후속문과의 연결상태를 조사한다거나, 가령 지시대명사가 지시하는 것 (통상 이것은 선행사) 을 결정한다든가, 문 중에서 생략시키는 것 (ellipsis) 을 추정한다든가 하는 일이 중요한 처리의 핵심이다. 그밖에 의미 처리에서도 선행문에서 문맥정보 (contextual information) 를 사용해서 글의 의미에 입각하여 의미 처리 결과를 선택해서 애매함을 해소하는 것도 문맥처리의 역할 중 하나이다.

이와 같은 문맥 처리 기술에 관한 일반적인 수법은 아직 개발되어져 있지 않다. 이미 알려진 지식을 일부러 집어 넣어 문맥 처리 기술이 사용되고 있는 실정이다. 앞으로 큰 연구과제이다. ⑤ 의 문장 합성 기술은 질의응답 시스템 등으로 자연어의 답을 만들어 내거나 기계번역 시스템에서 번역문을 만들어 낼 때에 사용되고 있는 기술이다. 일반적으로 문장 합성을 하기 위해 입력하는 것은 의미 처리의 결과를 얻을 수 잇는 의미 구조이거나, 처리의 수준을 좀 낮게 하고 구문 처리의 결과를 얻을 수 있는 구문 구조이다.

그런데 본격적인 문장 합성에 대한 연구는 필요 충분하다고는 말하기 어렵다. 질의 응답 시스템 등에서는 오히려 전형적인 응답문의 pattern을 미리 사용하기 전에 그 일부를 변환하여 응답문을 작성해 내는 기술을 주로 사용하고 있다. 이것은 이론적인 견지에서 필요 만족한 것이라고는 말하지 않지만 실용적인 견지에서 유용한 기술이라고 생각된다.

본격적인 입장에서의 문장 합성은 기계번역 시스템에서 활발한 연구가 되고 있다.

6. 자연어 처리 기술의 역사

컴퓨터에서 자연어를 처리한다는 것은 1945년에 미국의 펜실베니아 대학에서 세계 최초의 진공관을 이용한 전자식 컴퓨터 ENIAC 의 탄생과 동시에 구상되었다. 컴퓨터의 당초의 목적은 수치연산을 고속으로 행하는 것이었다. 그러나 컴퓨터의 본질이 수치연산에 있다기보다는 오히려 기호조작과 기호처리 능력에 있다는 것이 연구되었다. 자연어는 기호 혹은 문자계열이므로 자연어 처리는 기호 처리의 전형이라고 말할 수 있다. 예를 들면 영.한 기계번역일 경우에는, 영어의 기호계를 처리하여 한국어의 기호열을 생성한다. ENIAC 의 탄생과 때를 같이하여 영국에서 기계번역의 가능성이 검토되었다는 것은 극히 자연적이라고 할 수 있다.

(1) 1950 년대 이후 ~ 1960 년대 중반의 자연어 처리 기술

실제 1950 년대 후반부터 1960 년대 중반에 걸쳐서의 자연어 처리 기술의 연구는 기계 번역 시스템의 연구를 중심으로 하여 전개되었다. 당시의 기계번역 시스템의 연구자는 의미처리나 문맥처리를 회피하고 촘스키가 제창한 변형문법을 기초로 한 구문론 (통어론 시스템이라고 부르기도 한다) 을 중심으로 하여 상당한 진전을 가져왔다. 그래서 미국에서의 기계번역의 연구는 그 영향이 급속히 전 세계로 보급되었다.

(2) 1960 년대 후반 ~ 1970 년의 자연어 처리 기술

1960 년대 후반이 되어서 자연어 처리의 연구는 1960 년대의 전반부터 의미정보 처리 (semantic information processing) 의 연구의 중요성을 제창하였던 MIT 의 인공지능의 연구 그룹이 좋은 성과를 얻었다. 이것은 Winograd 가 작성한 SHRDLU 라고 불려지는 자연어 이해 시스템이다.
SHRDLU 는 컴퓨터 내에서 simulate 된 목적의 세계를 조작하는 로버트이다. 이것은 영어로 적목을 쌓으며 상하로 이동하는 일을 행하도록 할 수 있었다.
SHRDLU 는 영어로 인간과 의미해석을 행하였지만, 극히 한정된 분야였다. 또한 문맥 처리와 상식을 이용한 추론을 행하는 것이 가능하다.
자연어 이해 시스템의 연구는 SHRDLU 이후 SHRDLU 의 세계에 도전한 것이 되었다고 말한다.

(3) 1970 년대의 자연어 처리 기술

1970 년대 들어서는 자연어 처리의 연구는 기계번역 시스템의 연구로부터 자연어 이해 시스템의 연구로 크게 발전을 하였다.
1970 년대의 언어이해 시스템의 연구는

의 방향으로 전진되었다.

①, ②, ③ 은 언어이해 시스템의 실현을 장기간의 연구 테마로 문제분야를 좁게 한정하였으며, 일반적인 해결책을 탐색하기도 하였다.

① 에서는 오래 전에 복수 문의 계열로부터 담화이해의 연구가 진행되었다. 담화이해 (discourse understanding) 에서는 담화의 흐름을 파악하는 것, 바꾸어 말하면 초점 (focus) 의 추이를 파악하는 것이 중요하다고 했으나, 미리 분별하기 위해 비교적 용이한 자연어 처리의 입장에서 동시에 기계적으로 행하기 위한 이론 혹은 기술은 아직 개발되지 않았다. 담화이해 시스템의 연구로서는 예일대학의 schank 의 연구가 대표적이다.

③ 에 대하여서는 의미표현의 형식으로서 언어학자 Fillmor 가 제안한 격 frame 의 형식이 이용되고 있다.

④ 는 ①, ②, ③ 과 비교해서 목표를 비교적 단기적으로 설정하여 자연어 해석 시스템을 실용화하도록 하는 테스트였다.

현존하는 자연어 처리 기술을 이용하게 되면서부터 한계도 알 게 되었는데, 그 한계를 극복하기 위해 자연어의 범위에 대한 문법과 사전 항목의 수를 제한하는 것이 고찰되었다.이 같은 자연어 이해 시스템에서는 자연어에 의한 질문에 대해 시스템 측면에서 회답을 하도록 대화가 진행된다. 여기에서 이것을 질의 응답 시스템이라고 부르기도 한다.

자연어 이해 시스템의 다른 예로서 학생 교육용으로 교사의 역할을 대행하는 CAI (Computer adid Instruction) 를 이용하는 것도 있다. 그러나 1970 년대에 본격적인 자연어 이해 시스템이 실용화되었고, 뿐만 아니라 이들은 그 이후도 연구가 계속되었다. 

1980 년대에 들어서서 VLSI 기술의 진보와 더불어 컴퓨터 VLSI 의 향상은 자연어 처리에서 종래 기억용량의 문제에 대하여 비약적인 해결책을 보았다.

한편, 이때 유럽 공동체에서는 많은 언어번역 문제에 직면하고 있었다. 그래서 1982년 가을부터 언어번역 시스템의 개발이 진행되었다. 프랑스, 캐나다에서도 동일한 형태의 계획을 하였으며, 우리나라에서도 대학 연구소, 주요 컴퓨터 회사 등에서 개발이 진행되고 있었다.

1982 년부터 시작한 제5세대 컴퓨터 계획에서는 자연어 처리 기술이 큰 연구 테마로 되었다. 자연어 처리를 행하는 시스템의 개발에는 종래의 LISP (List Process) 라고 불리는 프로그램 언어가 주로 사용되었다. 그러나 1980 년대에 들어서서 프로로그라고 하는 프로그램 언어 (인공어) 가 주목되고 있다. 언어학의 분류에서도 몬테규 문법 등이 새로운 동기가 되어 자연어 처리 기술에 적극적으로 도입되어 테스트되고 있다.