SHRDLU

 

자연어 처리 (Natural Language Processing) 시스템의 최초의 성공 예인 유명한 SHRDLU 이다. 블록 쌓기의 질의 응답 시스템 이다. Terry Winograd 가 1971년 MIT 박사 논문에서 어린이의 제한된 블록 세계에서 컴퓨터가 영어 문장을 이해하는 것을 보여주었다. 그것은 자연어 이해 프로그램으로서 영어로 문서화된 명령을 수행하는 로봇 팔을 가지고 있다. 

이라는 지시를 받고 커다란 빨간 나무토막을 팔로 들어올리는 화면이다.

 

Wikipedia : SHRDLU : MIT 의 Terry Winograd 가 개발한 자연어 이해 컴퓨터 프로그램으로서 DEC PDP-6 컴퓨터와 DEC graphics terminal 상에서 Lisp 언어로 작성되었다. 나중에 Utah 대학의 computer graphics lab 에서 개선되어 SHRDLU 의 "세계" 를 full 3D rendering 으로 표현하였다 (아래 그림, source).

SHRDLU 은 영어로 사용자와 대화하도록 만들어 졌다. 사용자는 다양한 블록, 원뿔, 볼 등을 가지고 있는 작은 "블록 세계" 에서 SHRDLU 에게 명령하여 그 물체들을 움지인다. SHRDLU 를 독특하게 만드는 것은 4 개의 간단한 아이디어를 결합하여 "이해 (understanding)" 의 시뮬레이션을 훨씬 더 확실하게 하였다는 것이다.

첫째는 SHRDLU 세계가 매우 단순해서 물체와 위치의 전체 집합이 약 50 개의 단어들, 예를들면 명사 "block" 과 "cone", 동사 "place on" 와 "move to" 형용사 "big" 와 "blue" 등등의 단어만을 사용하여 묘사될 수 있다. 이러한 기본적인 언어의 가능한 조합은 아주 단순하고, 그래서 사용자가 의미하는 것을 형상화하는데 쉽게 숙달되었다.

둘째는 맥락 (문장의 전후관계) 를 알려주는 기본적인 메모리가 포함된다. 사람이 SHRDLU 에 "녹색 원뿔을 적색 블록위에 위치시켜라" 라고 요청하면 "그 원뿔을 가지고 간다" ; "그 원뿔" 은 사람이 말한 바로 그 원뿔을 가져 갈 것이다. SHRDLU 는 부가적인 형용사가 주어지면 대부분의 경우에 적절한 맥락을 찾기위해 후진하여 탐색할 수 있다. 또한 "그 원뿔이전에 어떤 것을 집었느냐?" 라고 묻는 것과 같이 이전의 궤적에 대해서도 질문할 수 있다.

SHRDLU 에 처음 주어진 rule 과 이러한 메모리의 부수 효과는 (side effect, ?), 그 세계에서 가능한 것과 가능하지 않은 것에 대해 답변을 할 수 있다는 것이다. 예를들면 SHRDLU 는 시도해 보고나서 블록은 쌓아놓을 수 있지만, 삼각뿔은 그럴 수 없다고 추론할 것이다. 그 "세계" 는 블록이 밑으로 떨어지게 하는 기본적인 물리학을 포함하며, 그것은 language parser 와는 상관없는 것이다.

마지막으로 SHRDLU 는 물체의 이름들을 기억하고, 배열시킬 수 있다는 것이다. 예를들면 "뾰족탑 (steeple) 은 길다란 사각뿔 위에 작은 삼각뿔이다" 라고 사람이 말한다 ; 이때 SHRDLU 는 그 블록 세계에서 뾰족탑에 대한 질문에 답변을 하고 새로운 뾰족탑을 만들 수도 있다.

SHRDLU 는 AI 의 매우 성공적인 결과를 보여주었다. 이것은 AI 연구자들을 지나치게 낙관하게 만들었으나, 실제 상황에서는 실세계의 애매모호성과 복잡성을 다루려 시도한 시스템에서 곧 한계에 부딪혔다. 원래의 SHRDLU 흐름에 따라 계속적인 노력이 있었고, 프로그램에 상당히 많은 정보를 부여하여 결론을 이끌어 내는데 초점을 맞추게 되었다. 그 결과로 Cyc 같은 프로젝트가 나오게 되었다.

Winograd 는 그이후 스스로 SHRDLU 와 거리를 두었고, SHRDLU 를 믿는 AI 분야의 연구자들은 막다른 골목에 이르게 되었다. SHRDLU 라는 이름은 Linotype machine 의 핵심 키 (alpha keys) 의 배열인 ETAOIN SHRDLU (영어에서 가장 흔하게 사용되는 문자 12개를 나열한 것) 에서 따온 것이다.

참고문헌 : Procedures as a Representation for Data in a Computer Program for Understanding Natural Language. MIT AI Technical Report 235, February 1971

참고 : PLANNER    adventure game

링크 :

SHRDLU demo 에 사용되는 대화 : source