SHRDLU
ÀÚ¿¬¾î ó¸® (Natural Language Processing) ½Ã½ºÅÛÀÇ ÃÖÃÊÀÇ ¼º°ø ¿¹ÀÎ À¯¸íÇÑ SHRDLU ÀÌ´Ù. ºí·Ï ½×±âÀÇ ÁúÀÇ ÀÀ´ä ½Ã½ºÅÛ ÀÌ´Ù. Terry Winograd °¡ 1971³â MIT ¹Ú»ç ³í¹®¿¡¼ ¾î¸°ÀÌÀÇ Á¦ÇÑµÈ ºí·Ï ¼¼°è¿¡¼ ÄÄÇ»ÅͰ¡ ¿µ¾î ¹®ÀåÀ» ÀÌÇØÇÏ´Â °ÍÀ» º¸¿©ÁÖ¾ú´Ù. ±×°ÍÀº ÀÚ¿¬¾î ÀÌÇØ ÇÁ·Î±×·¥À¸·Î¼ ¿µ¾î·Î ¹®¼ÈµÈ ¸í·ÉÀ» ¼öÇàÇÏ´Â ·Îº¿ ÆÈÀ» °¡Áö°í ÀÖ´Ù.
Pick up a big red block.
À̶ó´Â Áö½Ã¸¦ ¹Þ°í Ä¿´Ù¶õ »¡°£ ³ª¹«Å丷À» ÆÈ·Î µé¾î¿Ã¸®´Â ȸéÀÌ´Ù.
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 - Terry Winograd ÀÇ SHRDLU page, source code Æ÷ÇÔ ¡Ú¡Ú¡Ú
Conversation with SHRDLU - ÁÖ¼®À» ºÙÀÎ ¹öÀü (annotated version)
SHRDLU resurrection - Java3D version À¸·Î ´Ù½Ã ÀÛ¼ºµÈ SHRDLU
SHRDLU demo ¿¡ »ç¿ëµÇ´Â ´ëÈ : source
Person: PICK UP A BIG RED BLOCK.
Computer: OK. (does it)
Person: GRASP THE PYRAMID.
Computer: I DON'T UNDERSTAND WHICH PYRAMID YOU MEAN.
Person: FIND A BLOCK WHICH IS TALLER THAN THE ONE YOU ARE HOLDING AND PUT IT INTO THE BOX.
Computer: BY "IT", I ASSUME YOU MEAN THE BLOCK WHICH IS TALLER THAN THE ONE I AM HOLDING.
Computer: OK. (does it)
Person: WHAT DOES THE BOX CONTAIN?
Computer: THE BLUE PYRAMID AND THE BLUE BLOCK.
Person: WHAT IS THE PYRAMID SUPPORTED BY?
Computer: THE BOX.
Person: HOW MANY BLOCKS ARE NOT IN THE BOX?
Computer: FOUR OF THEM.
Person: IS AT LEAST ONE OF THEM NARROWER THAN THE ONE WHICH I TOLD YOU TO PICK UP?
Computer: YES, THE RED CUBE.
Person: IS IT SUPPORTED?
Computer: YES, BY THE TABLE.
Person: CAN THE TABLE PICK UP BLOCKS?
Computer: NO.
Person: CAN A PYRAMID BE SUPPORTED BY A BLOCK?
Computer: YES.
Person: CAN A PYRAMID SUPPORT A PYRAMID?
Computer: I DON'T KNOW.
Person: STACK UP TWO PYRAMIDS.
Computer: I CAN'T.
Person: WILL YOU PLEASE STACK UP BOTH OF THE RED BLOCKS AND EITHER A GREEN CUBE OR A PYRAMID?
Computer: OK. (does it)
Person: WHICH CUBE IS SITTING ON THE TABLE?
Computer: THE LARGE GREEN ONE WHICH SUPPORTS THE RED PYRAMID.
Person: IS THERE A LARGE BLOCK BEHIND A PYRAMID?
Computer: YES, THREE OF THEM: A LARGE RED ONE, A LARGE GREEN CUBE, AND THE BLUE ONE.
Person: PUT A SMALL ONE ONTO THE GREEN CUBE WHICH SUPPORTS A PYRAMID.
Computer: OK. (does it)
Person: PUT THE LITTLEST PYRAMID ON TOP OF IT.
Computer: OK. (does it)
Person: DOES THE SHORTEST THING THE TALLEST PYRAMID'S SUPPORT SUPPORTS SUPPORT ANYTHING GREEN?
Computer: YES, THE GREEN PYRAMID.
Person: WHAT COLOR IS IT?
Computer: BY "IT", I ASSUME YOU MEAN THE SHORTEST THING THE TALLEST PYRAMID'S SUPPORT SUPPORTS.
Computer: RED
Person: HOW MANY THINGS ARE ON TOP OF GREEN CUBES?
Computer: I'M NOT SURE WHAT YOU MEAN BY "ON TOP OF "IN THE PHRASE "ON TOP OF GREEN CUBES " .
DO YOU MEAN:
1 - DIRECTLY ON THE SURFACE
2 - ANWHERE ON TOP OF ?
Person: 2
Computer: THREE OF THEM.
Person: HAD YOU TOUCHED ANY PYRAMID BEFORE YOU PUT THE GREEN ONE ON THE LITTLE CUBE?
Computer: YES, THE GREEN ONE.
Person: WHEN DID YOU PICK IT UP?
Computer: WHILE I WAS STACKING UP THE RED CUBE, A LARGE RED BLOCK AND A LARGE GREEN CUBE.
Person: WHY?
Computer: TO GET RID OF IT.
Person: WHY DID YOU DO THAT?
Computer: TO CLEAN OFF THE RED CUBE.
Person: WHY DID YOU CLEAR OFF THAT CUBE?
Computer: TO PUT IT ON A LARGE GREEN CUBE.
Person: WHY DID YOU DO THAT?
Computer: TO STACK UP THE RED CUBE , A LARGE RED BLOCK AND A LARGE GREEN CUBE.
Person: WHY DID YOU DO THAT?
Computer: BECAUSE YOU ASKED ME TO.
Person: HOW DID YOU DO IT?
Computer: BY PUTTING A LARGE RED BLOCK ON THE TABLE ; THEN LETTING GO OF IT ; THEN PUTTING A LARGE GREEN CUBE ON IT ; THEN LETTING GO OF THAT CUBE ; THEN PUTTING THE RED CUBE ON THAT CUBE; THEN LETTING GO OF THAT CUBE.
Person: HOW MANY OBJECTS DID YOU TOUCH WHILE YOU WERE DOING IT?
Computer: FOUR OF THEM.
Person: WHAT DID THE RED CUBE SUPPORT BEFORE YOU STARTED TO CLEAN IT OFF?
Computer: THE GREEN PYRAMID.
Person: THERE WERE FIVE BLOCKS TO THE LEFT OF THE BOX THEN.
Computer: NO, ONLY FOUR OF THEM: THE RED CUBE, TWO LARGE GREEN CUBES AND A LARGE RED BLOCK.
Person: PUT THE BLUE PYRAMID ON THE BLOCK IN THE BOX.
Computer: OK. (does it)
Person: IS THERE ANYTHING WHICH IS BIGGER THAN EVERY PYRAMID BUT IS NOT AS WIDE AS THE THING THAT SUPPORTS IT?
Computer: YES, THE BLUE BLOCK.
Person: DOES A STEEPLE
Computer interrupting: SORRY, I DON'T KNOW THE WORD "STEEPLE".
Person: A "STEEPLE" IS A STACK WHICH CONTAINS TWO GREEN CUBES AND A PYRAMID.
Computer: I UNDERSTAND.
Person: ARE THERE ANY STEEPLES NOW?
Computer: NO.
Person: BUILD ONE.
Computer: OK. (does it)
Person: CALL THE BIGGEST BLOCK "SUPERBLOCK".
Computer: OK.
Person: HAVE YOU PICKED SUPERBLOCK UP SINCE WE BEGAN?
Computer: YES.
Person: WHY DID YOU DROP IT?
Computer: BY "IT", I ASSUME YOU MEAN THE SUPERBLOCK.
I CAN'T EXPLAIN A NON-EXISTENT EVENT.
Person: IS THERE ANYTHING TO THE RIGHT OF THE RED PYRAMID?
Computer: YES, FOUR THINGS: THE BOX , THE RED CUBE, THE BLUE PYRAMID AND THE BLOCK NAMED SUPERBLOCK
Person: THANK YOU.
Computer: YOU'RE WELCOME!