»ç¶÷ÀÎ µíÇÑ ....

(Appearing Human)

 

C ÀΰøÁö´É ÇÁ·Î±×·¡¹Ö : Herbert Schildt ÁöÀ½, ½Å°æ¼÷.·ù¼º·Ä ¿Å±è, ¼¼¿õ, 1991 (¿ø¼­ : Artificial Intelligence using C, McGraw-Hill, 1987), page 405~435

 

1. ¼ÓÀÓ¼ö ? (TRICKERY ?)

2. ¾ó¸¶¸¸Å­ ÁÁÀº°¡? (WHAT GOOD IS IT ?)

3. »ç¶÷ ´ë ±â°è (HUMAN VERSUS MACHINE)

  3.1. ±â°è °¨Á¤ (Machine Emotions)

  3.2. ¼º°Ý (Personality)

4. Àǻ翡°Ô ÁøÂû ¹Þ±â (GOING TO THE DOCTOR)

  4.1. ÃÖÃÊÀÇ ELIZA ÇÁ·Î±×·¥ÀÌ ÀÛµ¿½ÃŲ ¹æ¹ý (How the Original ELIZA Program Worked)

  4.2. °£´ÜÇÑ ÃÖÃÊÀÇ ¹öÀü (A Simple First Version)

  4.3. ÀÇ»ç ÇÁ·Î±×·¥ °³¼± (Improving the Doctor Program)

  4.4. ¼º°Ý°ú °¨Á¤À» ÷°¡Çϱâ (Adding Some Personality and Emotion)

  4.5. ÀÇ»ç ÇÁ·Î±×·¥ È®ÀåÇϱâ (Expanding the Doctor Program)

5. Àΰ£´Ù¿î ÄÄÇ»ÅÍÀÇ ¾Ï½Ã (IMPLICATIONS OF HUMANLIKE COMPUTERS)

 

ÀÌ Àå¿¡¼­´Â »ç¶÷ó·³ ÇൿÇÏ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â °ÍÀ» ´Ù·é´Ù. ÀÌ·± À¯ÇüÀÇ ÇÁ·Î±×·¥ÀÇ ÀüÅëÀûÀÎ ¿¹´Â 1 Àå¿¡¼­ ¾ð±ÞµÈ ELIZA ÇÁ·Î±×·¥Àε¥, ÀÌ°ÍÀº Rogerian Á¤½Å°ú ÀÇ»çó·³ ÇൿÇÑ´Ù. ÀÌ Àå¿¡¼­´Â ÄÄÇ»ÅÍ ÇÁ·Î±×·¥À¸·Î ÇÏ¿©±Ý ¼º°Ý°ú °¨Á¤À» °®´Â °Íó·³ ¸¸µå´Â ¹æ¹ýÀ» Á¶»çÇÏ°í ELIZA À¯ÇüÀÇ ÇÁ·Î±×·¥¿¡ ´ëÇÑ ¼¼ °¡Áö °£´ÜÇÑ ¹öÀüÀ» °³¹ßÇÑ´Ù.

¾Æ¸¶µµ ´ÜÁö ½ºÅ©¸°°ú Å°º¸µå¸¸ °®°í ÀÖÀ» °ÍÀ̱⠶§¹®¿¡, µ¿À۵Ǵ ¼ø¼­ (operating scenario) ´Â ´ÙÀ½°ú °°´Ù. µÎ ´ëÀÇ ÄÄÇ»ÅÍ Å͹̳εéÀÌ ³ª¶õÈ÷ ³õ¿© ÀÖ´Ù°í »ó»óÇÏÀÚ. ù ¹ø° °ÍÀº, ¿·¹æ¿¡ ³õ¿© »ç¶÷ ¿ÀÆÛ·¹ÀÌÅÍ°¡ ÀÖ´Â ¶Ç ´Ù¸¥ Å͹̳ο¡ ¿¬°áµÇ¾î ÀÖ´Ù. ¹Ý¸é¿¡ µÎ ¹ø° Å͹̳ÎÀº ÄÄÇ»ÅÍ¿¡ ¿¬°áµÇ¾î ÀÖ´Ù. ÄÄÇ»ÅÍ¿Í »ç¶÷Àº µÑ ´Ù ŸÀÌÇÁÇÏ´Â ¾î¶² °Í¿¡µµ ¹ÝÀÀÇÒ °ÍÀÌ´Ù. ¸¸¾à ¾î´À Å͹̳ÎÀÇ ÄÄÇ»ÅÍ¿¡ ¿¬°áµÇ¾î ÀÖ°í ¾î´À Å͹̳ÎÀÌ »ç¶÷ ¿ÀÆÛ·¹ÀÌÅÍ¿¡ ¿¬°áµÇ¾î ÀÖ´ÂÁö ¾Ë ¼ö ¾ø´Ù¸é, ÄÄÇ»ÅÍ¿¡¼­ ¼öÇàµÇ´Â ÇÁ·Î±×·¥Àº »ç¶÷ó·³ ÇൿÇÏ´Â µ¥¿¡ ¼º°øÇßÀ» °ÍÀÌ´Ù.

1. ¼ÓÀÓ¼ö ? (TRICKERY ?)

¿ø·¡ÀÇ ELIZA ÇÁ·Î±×·¥ÀÌ ±â´ÉÀ» ÇÏ´Â ¹æ¹ýÀº ÁøÁöÇÑ AI ¿¬±¸¿Í °ÅÀÇ °ü°è°¡ ¾ø´Ù´Â °Í°ú, Áö´ÉÀûÀÎ °Íó·³ º¸ÀÌ´Â °ÍÀº ±â¼ú (trick) ¿¡ ±âÃÊÇÑ °ÍÀÌÁö, ÀϹÝÈ­ µÉ ¼ö ÀÖ´Â È®°íÇÑ ¿ø¸®¿¡ ±âÃÊÇÑ °ÍÀÌ ¾Æ´Ï¶ó´Â °ÍÀ» ¸¹Àº »ç¶÷µéÀÌ ¸»ÇÑ´Ù. ±×·¯³ª, ÀÌ ºñÆò°¡µéÀº ÇÁ·Î±×·¥¿¡ ´ëÇÑ ¾Æ¸¶µµ °¡Àå Áß¿äÇÑ °ÍÀ» ÀØ°í ÀÖ´Ù : ELIZA ´Â ½ÇÁ¦·Î »ç¶÷°ú ±¸º°ÇÒ ¼ö°¡ ¾ø´Ù.

º¼ °Íó·³, ELIZA À¯ÇüÀÇ ÇÁ·Î±×·¥Àº Çü½ÄÀû ÀÚ¿¬¾ð¾î ó¸® ±â¹ýµé Áß ¾î¶² °Íµµ ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â´Ù. (±×·¯³ª, ¿ä±¸µÇ¸é »ç¿ëÇÒ ¼öµµ ÀÖ´Ù). »ç½Ç»ó, ÀÌ·¯ÇÑ Á¾·ùÀÇ º¸Åë ÇÁ·Î±×·¥Àº ´Ù¼Ò ¾î¸®¼®´Ù : ¹«¾ùÀÌ ÁøÇàÇÏ°í ÀÖ´ÂÁö¿¡ ´ëÇÏ¿© °ÅÀÇ ¸ð¸¥´Ù. ¿ÀÈ÷·Á, ±×°ÍÀÇ ¹ÝÀÀÀº ´Ü¼øÈ÷ ¹Ì¸® ÁغñµÈ ´ë´äÀÌ´Ù. ±×·¯³ª, ELIZA À¯ÇüÀÇ ÇÁ·Î±×·¥¿¡ ´ëÇÏ¿© Àç¹ÌÀÖ´Â °ÍÀº ±× ÇÁ·Î±×·¥µéÀÌ ¸Å¿ì ¼º°øÀûÀ¸·Î »ç¶÷ Èä³»¸¦ ³¾ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ÀÌ Àå¿¡¼­ ÁÖ·Î °­Á¶¸¦ ÇÒ °ÍÀº ¹Ù·Î ÀÌ·± ¸éÀÌ´Ù.

2. ¾ó¸¶¸¸Å­ ÁÁÀº°¡? (WHAT GOOD IS IT ?)

¾î¶² »ç¶÷µéÀº ÄÄÇ»ÅÍ·Î ÇÏ¿©±Ý »ç¶÷ó·³ º¸ÀÌ°Ô ÇÏ´Â ¹æ¹ýÀ» ¿¬±¸ÇÏ´Â °ÍÀÇ °¡Ä¡¸¦ ¹¯´Â´Ù. ±×·¯³ª, ÀÌ·± ¸î¸î »ç¶÷µéÀº ÇÑ°¡Áö Áß¿äÇÑ Á¡À» ÀØ°í ÀÖ´Ù : AI ¿¬±¸¸¦ ÅëÇÑ ¾÷ÀûÀÌ Áõ°¡ÇÏ°í ½ÇÁ¦ »ç¿ëµÉ ¶§, ÄÄÇ»ÅÍ-»ç¿ëÀÚ °£ÀÇ ÁÁÀº ÀÎÅÍÆäÀ̽º¸¦ »ý¼ºÇÒ ÇÊ¿ä°¡ Áõ°¡ÇÒ °ÍÀÌ´Ù. »ç¶÷µéÀÌ Á¤¸» ¿µ¸®ÇÑ ±â°è¸¦ »ç¿ëÇÏ·Á ÇÑ´Ù¸é, »ç¿ëÀÚµéÀº ÀÌ·± À¯ÇüÀÇ ÀÎÅÍÆäÀ̽º¿¡ °¡Àå Àͼ÷ÇØ Àֱ⠶§¹®¿¡, ÀÌ ±â°èµéÀº ´Ù¼Ò »ç¶÷ó·³ ÇൿÇØ¾ß ÇÒ °ÍÀÌ´Ù.

ÀÌ Á¡À» ÀÌÇØÇϱâ À§Çؼ­, Á¦ 3 Àå¿¡¼­ °³¹ßµÈ Àü¹®°¡½Ã½ºÅÛÀ» ´Ù½Ã »ý°¢ÇÏÀÚ. ¾Ë°í ÀÖµíÀÌ, Àü¹®°¡½Ã½ºÅÛÀº AI ÀÇ ÃÖÃÊÀÇ, ±×¸®°í ¸Ç ¸ÕÀú »ó¾÷ÀûÀ¸·Î »ýÁ¸ÇÒ ¼ö ÀÖ´Â »ý»êÇ°ÀÌ´Ù. ±×·¯³ª, ÀÌ ±Û¿¡¼­ ¾î¶² Àü¹®°¡½Ã½ºÅÛµµ ½ÇÁ¦·Î »ç¶÷ Àü¹®°¡°¡ ÇÏ´Â °Í°ú °°Àº ¹æ¹ýÀ¸·Î »ç¿ëÀÚ¿Í »óÈ£ÀÛ¿ëÇÏÁö ¾Ê´Â´Ù. °¡Àå ÁÁÀº ½Ã½ºÅÛ¿¡¼­µµ ½Å¼Óó¸® (prompting) ´Â ¾ÆÁ÷ °úÀåµÇÁö ¾Ê´Â´Ù.

3. »ç¶÷ ´ë ±â°è (HUMAN VERSUS MACHINE)

Á¦ 1 Àå¿¡¼­´Â ÇÁ·Î±×·¥ÀÌ °°Àº ¹®Á¦¿¡ ºÎµúÄ£ »ç¶÷°ú ºñ½ÁÇÑ ¹æ½ÄÀ¸·Î ÀÛµ¿Çϸé Áö´ÉÀÌ ÀÖ´Ù°í °áÁ¤Çß´Ù. ±×·¯³ª, Áö´ÉÀûÀ¸·Î ÀÛµ¿ÇÏ´Â ÇÁ·Î±×·¥°ú »ç¶÷ó·³ ÇൿÇÏ´Â ÇÁ·Î±×·¥ »çÀÌ¿¡ ¹Ì¹¦ÇÑ Â÷ÀÌ°¡ ÀÖ´Ù´Â °ÍÀ» ÀÌÇØÇØ¾ß ÇÑ´Ù. ÀÌ Â÷ÀÌ´Â °¨Á¤°ú ¼º°Ý¿¡ ±âÃÊÇÑ´Ù : ÀϹÝÀûÀ¸·Î »ç¶÷°°Àº °ÍÀº ´Ü¼øÈ÷ ¹®Á¦¸¦ ÇØ°áÇÏ´Â Áö´ÉÀ» °®´Â °Í ÀÌ»óÀÇ °ÍÀ» ¿ä±¸ÇÑ´Ù. ÄÄÇ»ÅÍ°¡ »ç¶÷ó·³ ¾î¶² Á¾·ùÀÇ ¿ÏÀüÇÑ °³¼º (identity) À» °¡Á®¾ß ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÀÌ Àǹ̴ ´ÙÀ½ÀÇ Àç¹ÌÀÖ´Â Áú¹®À» ¾ß±â½ÃŲ´Ù :

ÀÌ Áú¹®µé¿¡ ¿Ïº®ÇÏ°Ô ´äÇÏ´Â °ÍÀº ÀÌ Ã¥ÀÇ ¹üÀ§¸¦ ³ÑÁö¸¸ ÀÌ Àå¿¡¼­ ¸î °³ÀÇ ¼³¸í¹®À» Á¦°øÇÑ´Ù.

3.1. ±â°è °¨Á¤ (Machine Emotions)

ÄÄÇ»ÅÍ°¡ Àΰ£ÀÇ ÇൿÀ» ¿Ïº®ÇÏ°Ô Èä³»³»´Â ´É·Â¿¡ ´ëÇÑ °¡Àå ºó¹øÇÑ ³íÀïµé ÁßÀÇ Çϳª´Â, »ç¶÷Àº °¨Á¤À» ´À³¥ ¼ö ÀÖÁö¸¸ ÄÄÇ»ÅÍ´Â ±×·¸Áö ¸øÇÏ´Ù´Â °ÍÀÌ´Ù. ½ÇÁ¦·Î ÀÌ ³íÀïÀº ¹«ÀǹÌÇÏ´Ù. »ç¶÷Àº ÄÄÇ»ÅÍ°¡ °¨Á¤À» °¡Á³´ÂÁö ¾Æ´ÑÁö ¾Ë ¹æ¹ýÀÌ ¾ø´Ù. »ç½Ç»ó, »ç¶÷µéÀº ÀÚ½ÅÀÇ °¨Á¤ÀÌ ½ÇÁ¦·Î ¹«¾ùÀÎÁö ¸ð¸¥´Ù. ±×·¯¹Ç·Î, ÄÄÇ»ÅÍ°¡ °¨Á¤À» °®Áö ¾Ê¾Ò´Ù°í ¸»ÇÏ´Â °ÍÀº °á·ÐÀ» ÃßÃøÇÏ´Â °ÍÀÌ´Ù !

°¨Á¤¿¡ ´ëÇÑ ÇÑ°¡Áö °üÁ¡Àº »ç¶÷ÀÇ ÀÎÁö »ç°í °úÁ¤¿¡ ¿¬°áµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó, º»´É¿¡ Åä´ë¸¦ µÐ´Ù°í ¸»ÇÑ´Ù. º»ÁúÀûÀ¸·Î, ÀÌ °üÁ¡Àº °¨Á¤À̶õ °ÅÀÇ ¶Ç´Â ÀüÇô Á¦¾îµÇÁö ¾Ê´Â ÈûÀ¸·ÎºÎÅÍ »ý°Ü³­´Ù´Â °ÍÀÌ´Ù (°¨Á¤¿¡ µû¶ó ÇൿÇÏ´Â °ÍÀ» ÇÇÇÏ´Â °ÍÀº °¡´ÉÇÒ ¼öµµ ÀÖÁö¸¸ °¨Á¤À» ´À³¢Áö ¾Ê´Â °ÍÀº ºÒ°¡´ÉÇÏ´Ù). ´õ Áß¿äÇÏ°Ô, ¹«¾ùÀÌ °¨Á¤À» ÀÏÀ¸Å°´ÂÁö ¾Æ¹«µµ ¸ð¸¥´Ù. ÀÌ Ãß·ÐÀÌ ÂüÀÌ¸é ºñ½ÁÇÑ »óȲÀÌ ÄÄÇ»ÅÍ¿¡¼­ Á¸ÀçÇÒ °Í °°´Ù. ÄÄÇ»ÅÍ´Â ¶ÇÇÑ ROM ·çƾ°ú ¿î¿µÃ¼Á¦ ÇÁ·Î½ÃÀúµéÀÇ ÇüÅ·Π"º»´É" À» °®´Â´Ù. °í±Þ ÇÁ·Î±×·¥ - ¿µ¸®ÇÑ ÇÁ·Î±×·¥°ú °°Àº - ÀÌ ÄÄÇ»ÅÍ¿¡¼­ ¼öÇàÇÏ°í ÀÖÀ» ¶§, Àú±Þ ·çƾµé Áß Çϳª ÀÌ»óÀÌ ¼öÇàµÇ°Ô ÇÒ ¼ö ÀÖ´Ù. °í±Þ ÇÁ·Î±×·¥Àº ÀÌ ·çƾµéÀÇ ÇൿÀ» Á÷Á¢ÀûÀ¸·Î´Â ¸ð¸¥´Ù : »ç½Ç»ó, ½Ç½Ã°£ ÀÎÅÍ·´Æ®ÀÇ °æ¿ì °í±Þ ÇÁ·Î±×·¥Àº ±× ÀÎÅÍ·´Æ®°¡ ¹ß»ýÇÏ´Â °ÍÁ¶Â÷ ¸ØÃâ ¼ö°¡ ¾ø´Ù. ±×·¯¹Ç·Î, ÄÄÇ»ÅÍÀÇ °¨Á¤Àº ROM, ¿î¿µÃ¼Á¦ ¶Ç´Â Áö´ÉÀûÀÎ ÇÁ·Î±×·¥ÀÇ ÀýÂ÷Àû ´ÜÆí (procedural fragment) ¿¡¼­ ¹ß°ßµÇ´Â ±×·¯ÇÑ Æ¯¼ºµéÀÌ´Ù. ¿ì¸®°¡ ¿ì¸®ÀÇ °¨Á¤À» Á¤È®È÷ ¾ËÁö ¸øÇÏ´Â °Íó·³, Áö´ÉÀûÀÎ ÄÄÇ»ÅÍ´Â ±× Çൿ¿¡ ¿µÇâÀ» ÁÖ´Â ¸î¸î Àú±Þ ·çƾµé¿¡ ´ëÇÏ¿© ¸íÈ®È÷ ¾ËÁö ¸øÇÒ ¼öµµ ÀÖ´Ù.

±×·¯³ª, ÄÄÇ»ÅÍ°¡ °¨Á¤À» °¡Áú ¼ö ÀÖ´ÂÁö ¾Æ´ÑÁö´Â ¹®Á¦°¡ µÇÁö ¾Ê´Â´Ù. ¿Ö³ÄÇϸé ÄÄÇ»ÅÍÀÇ °¨Á¤Àº »ç¶÷ÀÇ °¨Á¤°ú ¾ÆÁÖ ´Ù¸¦ °ÍÀ̱⠶§¹®ÀÌ´Ù. ¹®Á¦´Â ÀÌ°ÍÀÌ´Ù. ¸¸¾à ÄÄÇ»ÅÍ·Î ÇÏ¿©±Ý »ç¶÷ó·³ ÇൿÇÏ°Ô ÇÒ °ÍÀ̶ó¸é ÄÄÇ»ÅÍ·Î ÇÏ¿©±Ý »ç¶÷ÀÇ °¨Á¤°ú ºñ½ÁÇÑ °ÍÀ» ¾î¶»°Ô µð½ºÇ÷¹ÀÌÇÏ°Ô ÇÒ ¼ö Àִ°¡? ÄÄÇ»ÅÍ°¡ ÇØ¾ß ÇÒ ¸ðµç °ÍÀº ¸¶Ä¡ »ç¶÷°ú °°Àº À¯ÇüÀÇ °¨Á¤À» °¡Áø °Íó·³ ÇൿÇÏ´Â °ÍÀÌ´Ù - ½ÇÁ¦·Î ±× °¨Á¤À» ´À³¥ ÇÊ¿ä°¡ ¾ø´Ù. ÀÌ°ÍÀº ¸·¿¬È÷ ¹®Á¦¿¡ ´ëÇÑ ÇൿÁÖÀÇÀÚÀÇ Á¢±Ù ¹æ½ÄÀÌ´Ù : ÄÄÇ»ÅÍ°¡ ¹«¾ùÀ» ´À³¢´ÂÁö´Â Áß¿äÇÏÁö ¾Ê´Ù - ´ÜÁö ÄÄÇ»ÅÍ°¡ ¹«¾ùó·³ ÇൿÇϴ°¡°¡ Áß¿äÇÒ »ÓÀÌ´Ù.

ÀÌ ÀåÀÇ ¸ñÀûÀ» À§Çؼ­, ÇÁ·Î±×·¥ÀÌ ´Ü¼øÈ÷ °¨Á¤°ú ºñ½ÁÇÑ °ÍÀ» ¾Ï½ÃÇÏ´Â ÇൿÀ» µð½ºÇ÷¹ÀÌÇÑ´Ù¸é ÃæºÐÇÒ °ÍÀÌ´Ù. ÇÁ·Î±×·¥Àº »ç¶÷ÀÌ ´À³¢´Â °Í°ú °°Àº ¹æ½ÄÀ¸·Î ±× °¨Á¤µéÀ» ´À³¥ ÇÊ¿ä´Â ¾ø´Ù.

3.2. ¼º°Ý (Personality)

¸¸¾à °ø»ó°úÇÐ ¿µÈ­ÀÇ ¿­·ÄÇÑ ÆÒÀ̶ó¸é, ¾Æ¸¶µµ ÄÄÇ»ÅÍ´Â °¨Á¤ÀÌ ¾ø´Â °ÍÀ¸·Î µÇ¾î ÀÖ´Ù´Â °ÍÀ» ¾Ë °ÍÀÌ´Ù. ±×·¯³ª, ÄÄÇ»ÅÍ°¡ »ç¶÷ó·³ ÇൿÇÑ´Ù¸é, ¾î¶² Á¾·ùÀÇ ¼º°ÝÀ» °¡Á®¾ß ÇÒ °Í °°´Ù.

¼º°ÝÀÌ »ç¶÷¿¡°Ô¼­ ¾î¶»°Ô ¹ß´ÞÇÏ´ÂÁö´Â ¸í¹éÇÏÁö ¾Ê´Ù. ¼º°ÝÀÇ ¾î¶² ¸éµéÀº »ç¶÷ÀÇ À¯ÀüÀûÀÎ ¼ºÁú¿¡ ÀÖ´Â °Í °°°í, ¾î¶² ¸éµéÀº °æÇèÀÇ ¿µÇâÀ» ¹Þ´Â´Ù. »ç¶÷ÀÇ ¿µ¿ªÀÇ ÀϺΰ¡ Á¦¾îÇÒ ¼ö ¾ø±â ¶§¹®¿¡, ÄÄÇ»ÅÍ¿¡°Ô ¼º°ÝÀ» ÁÖ´Â ÇÑ°¡Áö ¹Þ¾ÆµéÀÏ ¸¸ÇÑ ÇØ°áÀº ´Ü¼øÈ÷ ¹ÝÀÀÀ» ÅëÇØ ¼º°ÝÀÇ Æ¯¼ºµéÀ» ³ªÅ¸³»µµ·Ï ÇÁ·Î±×·¥ÇÏ´Â °ÍÀ̶ó°í ÁÖÀå µÈ °Í °°´Ù. ¸¸¾à ÇൿÁÖÀÇÀÚ (ÇൿÁÖÀÇ (Behaviorism)) ÀÇ °üÁ¡À¸·Î »ý°¢Çϸé, ÄÄÇ»ÅÍ´Â ½ÇÁ¦·Î ¾î¶² ¼º°ÝÀÌ ÀÖ¾î¾ß ÇÒ ÇÊ¿ä°¡ ¾ø´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù : ¿ÀÈ÷·Á ¼º°ÝÀ» ¾Ï½ÃÇÏ´Â ÇൿÀ» µð½ºÇ÷¹ÀÌÇϱ⸸ ÇÏ¸é µÈ´Ù. (»ç¶÷µé Á¶Â÷µµ ¶§¶§·Î ±×µéÀÇ ¼º°Ý¿¡ ¹Ý´ëµÇ´Â ÇൿÀ» ³ªÅ¸³»°Å³ª ¶Ç´Â "°Ý¿¡ ¸ÂÁö ¾Ê°Ô ÇൿÇÑ´Ù")

ÀÌ Àå¿¡¼­ ÄÄÇ»ÅÍÀÇ ¼º°ÝÀº ÀüÀûÀ¸·Î ÄÄÇ»ÅÍ°¡ ´Ù¾çÇÑ ÀԷ¿¡ ¹ÝÀÀÇÏ´Â ¹æ¹ý¿¡ µû¶ó »ý¼ºµÉ °ÍÀÌ´Ù. ÀÌÁ¦ ¾Ë °Íó·³, ÄÄÇ»ÅÍ¿¡°Ô ¿©·¯ °¡Áö ¼º°ÝÀ» ÁÖ´Â °ÍÀº ½ÇÁ¦·Î ¾ÆÁÖ ½±´Ù.

4. Àǻ翡°Ô ÁøÂû ¹Þ±â (GOING TO THE DOCTOR)

ÀÇ»çÀÇ Á¾·ùÀÇ ÃÖÃÊÀÌ °Í Áß Çϳª´Â - ±×¸®°í »ç¶÷ÀÇ ¿Ü¸ð¸¦ °®´Â °¡Àå À¯¸íÇÑ ÇÁ·Î±×·¥Àº - Joseph Weisenbaum ¿¡ ÀÇÇØ ¸¸µé¾îÁø ELIZA ÀÌ´Ù. ¾Õ¿¡¼­ ¾ð±ÞÇßµíÀÌ, ELIZA ´Â Rogerian Á¤½Å°ú ÀÇ»çó·³ ÇൿÇÑ´Ù. (Rogerian Á¤½Å°ú ÀÇ»ç´Â ´Ü¼øÈ÷ ȯÀÚÀÇ ¹ÝÀÀÀ» ¿¡ÄÚ¿ì ÇÔÀ¸·Î½á µ¿ÀÛÇÑ´Ù - ÀÌ°ÍÀº À̷лó ȯÀÚ°¡ ÀÚ±âºÐ¼®ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.)

ÀÌ·¯ÇÑ À¯ÇüÀÇ ÇÁ·Î±×·¥µéÀÌ Çö´ëÀÇ ÄÄÇ»ÅÍ ÇÁ·Î±×·¡¸Óµé¿¡°Ô ±æµé¿©Á® ÀÖ´Â °Í °°Áö¸¸, ÇÁ·Î±×·¥µéÀº ¿©ÀüÈ÷ "Àå»çÀÇ ±â¼ú" ¿¡ Àͼ÷ÇÏÁö ¾ÊÀº »ç¶÷¿¡°Ô °¨¸íÀ» ÁÙ ¼ö ÀÖ´Ù. ÀÌ Àý¿¡¼­, ELIZA °°Àº ÇÁ·Î±×·¥ÀÇ °£´ÜÇÑ ¹öÀüÀÎ Doctor ¸¦ °³¹ßÇÏ´Â °ÍÀº ÀÌ Á¤½Å¿¡ ÀÖ´Ù.

4.1. ÃÖÃÊÀÇ ELIZA ÇÁ·Î±×·¥ÀÌ ÀÛµ¿½ÃŲ ¹æ¹ý (How the Original ELIZA Program Worked)

ÃÖÃÊÀÇ ELIZA ÇÁ·Î±×·¥Àº ´Ü¼øÈ÷ Å°¿öµå ÀνÄÀ» »ç¿ëÇÏ¿© ȯÀÚÀÇ ¸»À» ¿¡ÄÚ¿ì Çß´Ù. ÇÁ·Î±×·¥ÀÌ È¯ÀÚÀÇ ¹®Àå¿¡¼­ "love", "hate", "want" ¿Í ¾î¶² ´Ü¾î¸¦ ¸¸³µÀ» ¶§ ÇÁ·Î±×·¥Àº ±× Å°¿öµå¿Í °ü°èÀÖ´Â ¹ÝÀÀÀ» ³¾ °ÍÀÌ´Ù. ÇÁ·Î±×·¥Àº ¶ÇÇÑ ´ëÈ­°¡ °è¼Ó ÁøÇàÇϱâ À§ÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Â ¼±ÅÃµÈ ÁÖÁ¦¸¦ ±â¾ïÇÒ °ÍÀÌ´Ù. ¸¶Áö¸·À¸·Î, ÇÁ·Î±×·¥Àº "I hate you." ¿Í °°Àº Áֿ䱸¸¦ ÀνÄÇؼ­ ƯÁ¤ÇÑ ¹ÝÀÀÀ» ³ªÅ¸³» º¸ÀÏ ¼ö ÀÖ´Ù. ´ÙÀ½ÀÇ ´ëÈ­´Â ÀϹÝÀûÀÎ ÆÐÅÏÀ» Áõ¸íÇÑ´Ù :

ÀÇ»ç : ¾È³çÇϽʴϱî? (How are you?)

ȯÀÚ : ¾È³çÇϽʴϱî? (Fine)

ÀÇ»ç : ÇູÇϽʴϱî? (Are you happy?)

ȯÀÚ : ¾Æ´Ï¿À, ³ª´Â ³» ÀÚ½ÅÀÌ ¹Ó½À´Ï´Ù. (No, I hate my life.)

ÀÇ»ç : ¿Ö ±×·¸ÁÒ? (Why do you hate your life?)

ȯÀÚ : ¾Æ¹«µµ ³ª¸¦ ÁÁ¾ÆÇÏÁö ¾Ê¾Æ¿ä. (Because no one likes me.)

ÀÇ»ç : Á¦°¡ ÁÁ¾Æ ÇÏÀݾƿä. (I like you.)

ȯÀÚ : ±×·²Áöµµ ¸ð¸£ÁÒ. (Well, you would !)

ÀÇ»ç : ¾ê±â¸¦ °è¼Ó ÇÒ±î¿ä? (But we were talking about you. Go on.)

ȯÀÚ : ½È¾î¿ä. (I don't want to.)

ÀÇ»ç : ¾Æ¹«µµ ÁÁ¾ÆÇÏÁö ¾Ê´Â´Ù°í Çߴµ¥, °è¼Ó ¾ê±âÇØ º¸¼¼¿ä. (You said that no one likes you. Tell me more.)

ÀÌ·¯ÇÑ À¯ÇüÀÇ ´ëÈ­´Â ȯÀÚ³ª »ç¿ëÀÚ°¡ ÁöÄ¥ ¶§±îÁö °è¼ÓµÉ °ÍÀÌ´Ù. ELIZA À¯ÇüÀÇ ÇÁ·Î±×·¥ÀÇ ¿©·¯ ¹öÀüµéÀÌ ¼ö³â°£¿¡ °ÉÃÄ °³¹ßµÇ¾ú´Ù. ¸î¸îÀº ¸Å¿ì Àß °³¹ßµÇ¾ú°í »ç¶÷ Á¤½Å°ú ÀÇ»ç¿Í ±¸º°µÉ ¼ö°¡ ¾ø´Ù.

4.2. °£´ÜÇÑ ÃÖÃÊÀÇ ¹öÀü (A Simple First Version)

ÀÌ Àå¿¡¼­ °³¹ßÇÒ Ã¹ ¹öÀüÀº ¾ÆÁÖ ÀûÀº ÀÏÀ» ÇÏ°í ½±°Ô È¥µ¿µÇÁö¸¸, °³¼±ÀÇ ¹ßÆÇÀ» ¼³Á¤ÇÑ´Ù. ÀÌ ¹öÀüÀº ¾î¶² ÁÖÁ¦µµ ±â¾ïÇÏÁö ¾Ê°í, ȯÀÚ°¡ Å°¿öµå yes ³ª no ¸¦ ÀÔ·ÂÇÏÁö ¾ÊÀ¸¸é ´Ü¼øÈ÷ ȯÀÚÀÇ ¹ÝÀÀÀ» ¹Ýº¹ÇÑ´Ù. ÀÌ ¹öÀüÀº ¿ÏÀüÈ÷ ¼º°ÝÀ̳ª °¨Á¤ÀÌ ¾ø´Ù. Àüü ÇÁ·Î±×·¥ÀÌ ¿©±â¿¡ ÀÖ´Ù :

/* Doctor #1 */

char *respond[]={

    "How are you ?",

    "Did you have a happy childhood ?",

    "Did you hate your father ?",

    ""

};

char *trans[]={

    "i", "you",

    "you", "I",

    "your", "my",

    "my", "your",

    "am", "are",

    ""

};

char token[80];

char *p_pos;

int res=0;            /* index into response array */

main()

{

    char s[80];

    printf("%s¡¬n",response[res++]);

    do {

      printf(" : ");

      p_pos=s;

      gets(s);

      if (!strcmp(s, "yes"))

        printf("Ah.... tell me more.¡¬n");

      else if (!strcmp(s, "no"))

        printf("Tell me more. ¡¬n");

      else if (!strcmp(s, "I hate you"))

        printf("Why do you hate me?¡¬n");

      else if (!*s) {

        if (!*response[res])  res=0;      /* start over again */

        printf("%s¡¬n",response[res++]);

      }

      else

        respond();

    } while(strcmp(s, "bye"));

}

 

/* create the doctor's responses */

respond()

{

    char t[80];

    do {

      get_token();

      if (translate(token, t)  printf("%s ",t);

      else printf("%s ", token);

    } while(*token);

    prinft("?¡¬n");

}

 

/* translate context from the patient to the doctor */

translate(token, tr)

char *token, *tr;

{

    int t;

    t=0;

    while(*trans[t]) {

      if(!strcmp(trans[t], token)) {

        strcpy(tr, trans[t+1]);

        return 1;

      }

      t+=2;

    }

    return 0;

}

 

/* return a token from the input stream */

get_token()

{

    char *p;

    p=token;

    /* skip spaces */

    while (*p_pos==' ') p_pos++;

    if (*p_pos=='¡¬0') {      /* is end of input */

      *p++='¡¬0';

      return;

    }

    if (is_in(*p_pos, ",.!?")) {

      *p=*p_pos;

      p++, p_pos++;

      *p='¡¬0';

      return;

    }

    /*read word until */

    while(*p_pos!=' ' && !is_in(*p_pos, ".,;?!") && *p_pos) {

      *p=tolower(*p_pos++);

      p++;

    }

    *p='¡¬0';

}

is_in(c, s)

char c, *s;

{

    while(*s) {

      if (c==*s)  return 1;

      s++;

    }

    return 0;

}

Doctor ÀÇ ÀÌ ¹öÀüÀ» Áú¹®À¸·Î ȯÀÚÀÇ ¸¶Áö¸· ¹®ÀåÀ» ´Ü¼øÈ÷ ¹Ýº¹ÇÔÀ¸·Î½á ÀÛµ¿ÇÑ´Ù. ÇÔ¼ö respond() ´Â "my" ¸¦ "your" ÇÏ´Â °Íó·³ ¸î ´Ü¾îÀÇ ³»¿ëÀ» ¹Ù²Ù±â À§ÇÏ¿© trans µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÑ´Ù. ÇÁ·Î±×·¥ÀÌ trans µ¥ÀÌÅͺ£À̽º¿¡¼­ ´Ü¾î¸¦ ãÁö ¸øÇϸé, ÇöÀçÀÇ ´Ü¾î¸¦ ´Ü¼øÈ÷ ´Ù½Ã ÇÁ¸°Æ®ÇÑ´Ù. À¯ÀÏÇÑ ¿¹¿Ü´Â ȯÀÚ°¡ "yes" ³ª "no" ¶Ç´Â "I hate you." ±¸ÀýÀ» ÀÔ·ÂÇÒ ¶§ ¹ß»ýÇÑ´Ù. ÀÌ·± °æ¿ì¿¡ ÇÁ·Î±×·¥Àº Ưº°ÇÑ ¹ÝÀÀÀ» ³½´Ù. ÇÁ·Î±×·¥ÀÌ ´õ ´Ù¾çÇÑ ¹ÝÀÀÀ» ó¸®ÇÒ ¼ö ÀÖµµ·Ï ÇÁ·Î±×·¥ÀÌ ¾Ë°í Àִ Ưº°ÇÑ ±¸¿Í ´Ü¾î¸¦ ½±°Ô È®ÀåÇÒ ¼ö ÀÖ´Ù. ( ÀÌ Àå¿¡¼­´Â ³ªÁß¿¡ ÀÌ·± ½ÄÀ¸·Î ÇÁ·Î±×·¥À» È®ÀåÇÒ °ÍÀÌ´Ù.) ȯÀÚ°¡ ij¸®Áö ¸®ÅÏÀ» Çϸé respond() ´Â ¹ÝÀÀ µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ ÀÌ¹Ì ÀÖ´Â ¹ÝÀÀ (stock response) À» »ç¿ëÇÒ °ÍÀÌ´Ù. ÇÁ·Î±×·¥Àº ÀÌ Ã¥ Àüü¿¡¼­ »ç¿ëµÇ´Â get_token() ÇÔ¼öÀÇ ¾à°£ º¯ÇüµÈ ¹öÀüÀ» »ç¿ëÇÏ¿© ȯÀÚÀÇ ¹ÝÀÀÀ» ºÐ¼®ÇÑ´Ù.

ÀÌ ¹öÀüÀÌ »ý¼ºÇÒ ´ëÈ­ À¯ÇüÀÇ º¸±â°¡ ¿©±â ÀÖ´Ù. ÀÇ»ç´Â Ç×»ó °¢ ´ëÈ­¸¦ ½ÃÀÛÇÏ°í ÇÁ·Î±×·¥Àº ÄÝ·ÐÀ» »ç¿ëÇÏ¿© ȯÀÚ¿¡°Ô ÇÁ·ÒÇÁÆ®¸¦ ³»º¸³½´Ù.

How are you? : I am fine

You are fine? : Yes, but my friend isn't

Yes, but your friend isn't? : He has a problem?

He has a problem? : I hate you

You hate me? :

Did you have a happy childhood? : No

Tell me more.

ÀÌ ÀÇ»çÀÇ Ã³¹æÀº ¸Å¿ì Áö·çÇÒ °ÍÀÌ´Ù ! ´ÙÀ½, ¾à°£ Çâ»ó½Ãų ¹æ¹ýÀ» º¼ °ÍÀÌ´Ù.

4.3. ÀÇ»ç ÇÁ·Î±×·¥ °³¼± (Improving the Doctor Program)

ÃʱâÀÇ ELIZA ÇÁ·Î±×·¥ÀÇ °¡Àå Áß¿äÇÑ Æ¯Â¡µé (features) ÁßÀÇ Çϳª´Â ȯÀÚ°¡ ¾ð±ÞÇÑ ÁÖÁ¦µéÀÇ trail À» À¯ÁöÇÑ´Ù´Â °ÍÀÌ´Ù. ´ëÈ­°¡ ÁÖÃãÇϱ⠽ÃÀÛÇÒ ¶§, ÀÇ»ç´Â ÁÖÁ¦µéÁß Çϳª¸¦ ´Ù½Ã ²¨³»µµ·Ï ȯÀÚ¿¡°Ô ÇÁ·ÒÇÁÆ®¸¦ ³»º¸³¾ ¼ö ÀÖ´Ù. ÀÌ ±â´ÉÀ» ÷°¡ÇÏ´Â °ÍÀº ȯÀÚÀÇ ¹ÝÀÀÀ» ÀúÀåÇÒ Å¥¸¦ ¸¸µé °ÍÀ» ¿ä±¸ÇÑ´Ù. ¶Ç, ¹æ±Ý ÁÖ¾îÁø °£´ÜÇÑ Doctor ÇÁ·Î±×·¥¿¡¼­, ´Ü¼øÈ÷ ȯÀÚÀÇ ¹ÝÀÀÀ» ¹Ýº¹ÇÏ´Â °ÍÀº Áö·çÇÏ°í ÃæºÐÈ÷ "Àΰ£Àû" ÀÌ ¾Æ´Ï´Ù. À̸¦ ó¹æÇϱâ À§Çؼ­ trans µ¥ÀÌÅͺ£À̽º´Â Å°¿öµå¿Í ¹ÝÀÀÀ» °£Á÷ÇÒ °ÍÀÌ´Ù. ÇÁ·Î±×·¥ÀÌ Å°¿öµå¸¦ ÀνÄÇÒ ¶§¸¶´Ù Àû´çÇÑ ¹ÝÀÀÀ» µð½ºÇ÷¹ÀÌ ÇÒ °ÍÀÌ´Ù.

¹æ±Ý ¼³¸íµÈ º¯È­¸¦ ¸¸µå´Â °ÍÀº Doctor ÇÁ·Î±×·¥ÀÇ ÃÑ°ýÀû µ¥ÀÌÅÍ¿Í Á¤ÀǸ¦ À籸¼ºÇÏ°í È®ÀåÇÒ °ÍÀ» ¿ä±¸ÇÑ´Ù. ÃÑ°ýÀû 2 Â÷¿ø ¹®ÀÚ ¹è¿­ topics ´Â ȯÀÚÀÇ ¹ÝÀÀ¿¡ ´ëÇÑ È¯Çü Å¥ (circular queue) ¸¦ À¯ÁöÇÒ °ÍÀÌ´Ù. (Å¥´Â first-in, first-out ÀúÀåÀåÄ¡ÀÌ´Ù) ÇÁ·Î±×·¥Àº topics ·Î À妽º ÇÏ°í Å¥¸¦ ¸¸µé±â À§ÇÏ¿© head ¿Í tail º¯¼öµéÀ» »ç¿ëÇÑ´Ù. MAX ´Â Å¥ÀÇ Å©±â¸¦ ¼³Á¤ÇÏ°í ÀÓÀÇÀÇ °ªÀÌ´Ù. ÇÁ·Î±×·¥Àº ȯÀÚ°¡ ´äÀ» ³ÖÀ¸¸é - ³ªÁß¿¡ º¼ °Íó·³ - ÇàÀ§ÀÇ ¾î¶² °úÁ¤ÀÌ ÃëÇØÁú °ÍÀÎÁö °áÁ¤Çϱâ À§Çؼ­ SHORT ¿Í VERYSHORT ¸¦ »ç¿ëÇÑ´Ù. ÇÁ·Î±×·¥ÀÇ Àüü ÃÑ°ý ºÎºÐÀÌ ¿©±â ÀÖ´Ù. È®ÀåµÈ trans µ¥ÀÌÅͺ£À̽º¸¦ ÁÖ¸ñÇØ¾ß ÇÑ´Ù.

#define MAX 100

#define SHORT 10

#define VERYSHORT 3

char *response[]={

    "How are you?",

    "Did you have a happy childhood?",

    "Did you hate your father?",

    "i'm not sure I understand.",

    ""

};

char *trans[]={

    "you", "Let's not talk about me.",

    "think", "Why do you think that?',

    "hate", "so you hate something - tell me more.",

    "what", "Why do you ask?",

    "want", "Why dou you want that?",

    "need", "We all need many things - is this special?",

    "why", "Remember, therapy is good for you.",

    "know", "How do you know that?",

    "bye", "Your bill will be mailed to you.",

    ""

};

char topics[MAX][80];    /* holds old topics */

char token[80];

char *p_pos;

int res=0;       /* index into response array */

int head=0;    /* head of topics queue */

int tail=0;       /* tail of topics queue */

ÇÁ·Î±×·¥ÀÇ °¡Àå Å« º¯È­´Â ¿©±â ÀÖ´Â °Íó·³ respond() ÇÔ¼ö¿¡ ÀÖ´Ù.

/* create the doctor's response */

respond(s)

char *s;

{

    char t[80];

    int loc;

    if (strlen(s)<VERYSHORT && strcmp(s, "bye")) {

      if (find_topic(t)) {

        printf("You just said : ");

        printf("%s ¡¬n",t);

        printf("Tell me more. ¡¬n");

      }

      else {

        if (!*response[res])  res=0;       /* start over again */

        printf("%s ¡¬n", response[res++]);

      }

      return;

    }

    if (strlen(s)>SHORT) assert_topic(s);

    do {

      get_token();

      loc=lookup(token);

      if (loc!=-1) {

        printf("%s¡¬n", trans[loc+1]);

        return;

      }

    } while(*token);

    /* comment of last resort */

    printf("Tell me more .... ¡¬n");

}

ȯÀÚ°¡ ´Ü¼øÈ÷ ij¸®Áö ¸®ÅÏÀ» ³Ö°Å³ª ±æÀÌ°¡ VERYSHORT °³ÀÇ ¹®ÀÚº¸´Ù ªÀº ¹ÝÀÀÀ» ³ÖÀ¸¸é respond() ÀÇ È£ÃâÇÔÀ¸·Î½á ÀÌÀüÀÇ ÁÖÁ¦·Î µÇµ¹¾Æ °¡·Á°í ÇÑ´Ù. topics Å¥¿¡ ÁÖÁ¦°¡ ÀÖÀ¸¸é, find_topic() ´Â ÂüÀ» ¸®ÅÏÇÏ°í ÁÖÁ¦¸¦ ¹è¿­ t ¿¡ ³õÀ» °ÍÀÌ´Ù. ÀÌÀüÀÇ ÁÖÁ¦°¡ ¾øÀ¸¸é respond() ´Â response µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ Àü¿¡ ÀÖ´ø ¹ÝÀÀ (stock response) À» ¼±ÅÃÇÑ´Ù. ȯÀÚ°¡ SHORT ¹®ÀÚ¼öº¸´Ù ´õ ±ä ¹ÝÀÀÀ» ³ÖÀ¸¸é, respond() ´Â ´ë´äÀ» topics Å¥¿¡ ³õ´Â´Ù. ÀÌ Ã¼Å©´Â Àǻ簡 ¸Å¿ì ªÀº ´ë´äÀ» ÁÖÁ¦·Î À߸ø ÀνÄÇÏ´Â °ÍÀ» ¸·±â À§ÇÏ¿© ÇÊ¿äÇÏ´Ù. ¸¶Áö¸·À¸·Î, respond() ´Â trans µ¥ÀÌÅͺ£À̽º¿¡ ÀÖ´Â ¾î¶² ´Ü¾î¿¡ ´ëÇؼ­µµ ȯÀÚÀÇ ¹ÝÀÀÀ» ÀÚ¼¼È÷ Á¶»çÇÑ´Ù. respond() °¡ Çϳª¸¦ ¹ß°ßÇϸé Àû´çÇÑ ¹ÝÀÀÀ» ³»º¸³½´Ù. ¹®ÀåÀÇ ³¡¿¡¼­ ¾î¶² ´Ü¾îµµ µ¥ÀÌÅͺ£À̽º¿¡ ÀÖ´Â °Í°ú ÀÏÄ¡ÇÏÁö ¾Ê¾ÒÀ¸¸é ÀÇ»ç´Â ´Ü¼øÈ÷ "Tell me more." ¶ó°í ¸»ÇÑ´Ù. Àüü ÇÁ·Î±×·¥ÀÌ ´ÙÀ½¿¡ ÀÖ´Ù.

/* Doctor #2 - includes keyword lookup and previous topics queue. */

#define MAX 100

#define SHORT 10

#define VERYSHORT 3

char *response[]={

    "How are you?",

    "Did you have a happy childhood?",

    "Did you hate your father?",

    "I'm not sure I understand.",

    ""

};

char *trans[]={

    "you", "Let's not talk about me.",

    "think", "Why do you think that?',

    "hate", "so you hate something - tell me more.",

    "what", "Why do you ask?",

    "want", "Why dou you want that?",

    "need", "We all need many things - is this special?",

    "why", "Remember, therapy is good for you.",

    "know", "How do you know that?",

    "bye", "Your bill will be mailed to you.",

    ""

};

char topics[MAX][80];    /* holds old topics */

char token[80];

char *p_pos;

int res=0;       /* index into response array */

int head=0;    /* head of topics queue */

int tail=0;       /* tail of topics queue */

 

main()

{

    char s[80];

    printf("%s¡¬n",response[res++]);

    do {

      printf(" : ");

      p_pos=s;

      gets(s);

      respond(s);

    } while(strcmp(s, "bye"));

}

 

/* create the doctor's response */

respond(s)

char *s;

{

    char t[80];

    int loc;

    if (strlen(s)<VERYSHORT && strcmp(s, "bye")) {

      if (find_topic(t)) {

        printf("You just said : ");

        printf("%s ¡¬n",t);

        printf("Tell me more. ¡¬n");

      }

      else {

        if (!*response[res])  res=0;       /* start over again */

        printf("%s ¡¬n",response[res++]);

      }

      return;

    }

    if (strlen(s)>SHORT) assert_topic(s);

    do {

      get_token();

      loc=lookup(token);

      if (loc!=-1) {

        printf("%s¡¬n", trans[loc+1]);

        return;

      }

    } while(*token);

    /* comment of last resort */

    printf("Tell me more .... ¡¬n");

}

 

/* Lookup a keyword in translation table */

lookup(token)

char *token;

{

    int t;

    t=0;

    while(*trans[t]) {

      if (!strcmp(trans[t], token))  return t;

      t+=2;

    }

    return -1;

}

 

/* place a topic into the topics database */

assert_topics(t)

char *t;

{

    if (head==MAX)  head=0;     /* wrap around */

    strcpy(topics[head], t);

    head++;

}

 

/* retrieve a topic */

find_topic(t)

char *t;

{

    if (tail!=head) {

      strcpy(t, topics[tail]);

      tail++;

      /* wrap around if necessary */

      if (tail==MAX)  tail=0;

      return 1;

    }

    return 0;

}

 

/* return a token from the input stream */

get_token()

{

    char *p;

    p=token;

    /* skip spaces */

    while (*p_pos==' ') p_pos++;

    if (*p_pos=='¡¬0') {              /* is end of input */

      *p++='¡¬0';

      return;

    }

    if (is_in(*p_pos, ".!?")) {

      *p=*p_pos;

      p++, p_pos++;

      *p='¡¬0';

      return;

    }

    /*read word until */

    while(*p_pos!=' ' && !is_in(*p_pos, ".,;?!") && *p_pos) {

      *p=tolower(*p_pos++);

      p++;

    }

    *p='¡¬0';

}

is_in(c, s)

char c, *s;

{

    while(*s) {

      if (c==*s)  return 1;

      s++;

    }

    return 0;

}

ÇÁ·Î±×·¥ÀÇ ÀÌ ¹öÀüÀº ´ÙÀ½ÀÇ ´ëÈ­¸¦ »ý¼ºÇÑ´Ù :

How are you? : OK

Did you have a happy childhood? : Yes, but I hated my neighbor's dog

Tell me more ... : why

Remember, therapy is good for you : I think that everyone is out to get me

Why do you think that ? : Because it is true

Tell me more ... : no

You just said : Yes, but i hated my neighbor's dog

Tell me more. : I want to find a friend

Why do you want that ? : I need someone to talk to

We all need many things - is this special ? : No, but I am lonely

Tell me more.

º¼ ¼ö ÀÖµíÀÌ, ÇÁ·Î±×·¥ÀÇ ÀÌ ¹öÀüÀº ÃÖÃÊÀÇ ¹öÀü¿¡ ´ëÇÑ ½ÇÁúÀûÀÎ °³¼±ÀÌ ÀÌ·ç¾îÁø °ÍÀÌ´Ù. Àǻ簡 ÀνÄÇÒ Å°¿öµå¿Í ±¸ÀÇ ¼ö¸¦ È®ÀåÇÏ´Â °ÍÀÌ Àç¹ÌÀÖ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù - ÀÌ ¹öÀüÀº ¾ó¸¶³ª "¿µ¸®ÇØ" º¸ÀÏ ¼ö ÀÖ´ÂÁö¿¡ ´ëÇÏ¿© ³î¶öÁöµµ ¸ð¸¥´Ù.

4.4. ¼º°Ý°ú °¨Á¤À» ÷°¡Çϱâ (Adding Some Personality and Emotion)

¾î¶² Ưº°ÇÑ ´Ü¾î¿¡ ´ëÇÑ ¹ÝÀÀÀ» º¯°æÇÔÀ¸·Î½á Àǻ簡 °¨Á¤À» °¡Áø °Íó·³ ¸¸µé ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, ´Ü¾î "murder" ´Â ¹ÝÀÀ "I don't like people who murder." À» ¾òÀ» ¼ö ÀÖ´Ù. ¶ÇÇÑ Àǻ翡 ´ëÇÑ ¼º°ÝÀ» ¼±ÅÃÇÏ°í ±×°Í¿¡ ´ëÇÑ ¹ÝÀÀÀ» ¸ÂÃâ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, Àǻ簡 ³«ÃµÁÖÀÇÀÚÀ̱⸦ ¿øÇϸé, ´Ü¾î "never" ÀÇ »ç¿ë¿¡ ´ëÇÑ ¹ÝÀÀÀ» "Don't be negative ; be positive." ·Î ¹Ù²Ü ¼ö ÀÖ´Ù. ¸¶Áö¸·À¸·Î, ȯÀÚ°¡ ¹®ÀåÀ» ¹Ýº¹ÇÒ ¶§ Àǻ簡 È­³ª°Ô µÇ¸é Àç¹ÌÀÖÀ» °ÍÀÌ´Ù.

ÀÌ º¯È­¸¦ ¸¸µé ¼ö ÀÖ´Â ¹æ¹ýÀ» ºÎ¿©Çϱâ À§ÇØ, Doctor ÇÁ·Î±×·¥ÀÇ ÃÖÁ¾ ¹öÀüÀº ¶Ñ·ÇÇÏ°Ô ³«ÃµÀûÀÌ°í ½±°Ô ¼º³»´Â Á¤½Å°ú Àǻ縦 ¸¸µé °ÍÀÌ´Ù. Àǻ簡 ³«ÃµÀûÀÌ°Ô ÇÏ´Â °ÍÀº ´ÙÀ½¿¡ ÀÖ´Â °Íó·³ trans µ¥ÀÌÅͺ£À̽º¸¦ º¯°æÇÒ °ÍÀ» ¿ä±¸ÇÑ´Ù.

char *trans[]={

    "you", "Let's not talk about me. ",

    "think", "Why do you think that ? ",

    "hate", "So you hate something - tell me more.",

    "what", "Why do you ask ?",

    "want", "Why do you want that ?",

    "need", "We all need many things - is this special ?",

    "why", "Remember, therapy is good for you.",

    "know", "How do you know that ?",

    "bye", "Your bill will be mailed to you.",

    "murder", "I don't like killing.",

    "kill", "It is wrong to kill.",

    "jerk", "Don't ever call me a jerk !",

    "can't", "Don't be negative - be positive.",

    "failure", "Strive for success.",

    "never", "Don't be negative - be positive.",

    "unhappy", "Why are you unhappy ?",

    ""

};

¶ÇÇÑ È¯ÀÚ°¡ °°Àº ´ë´äÀ» ¹Ýº¹ÇÒ ¶§ Àǻ簡 ¼º³¾ ¼ö ÀÖµµ·Ï respond() ÀÇ Äڵ带 º¯°æÇØ¾ß ÇÑ´Ù.

if (in_topics(s)) {

    printf("stop repeating yourself ! ¡¬n");

}

¿©±â¼­, »õ·Î¿î ÇÔ¼ö in_topics() ´Â s ¿¡ ÀÖ´Â ÇöÀçÀÇ ´ë´äÀÌ ¶ÇÇÑ topics µ¥ÀÌÅͺ£À̽º¿¡ ÀÖ´ÂÁö¸¦ °áÁ¤Çϱâ À§ÇÏ¿© È£ÃâµÈ´Ù. ±×·¸´Ù¸é, ÇÁ·Î±×·¥Àº ´Ù¼Ò ¼º³­ ¹ÝÀÀÀ» º¸ÀδÙ. º¯ÇüµÈ respond() ¿Í »õ·Î¿î in_topics() ÇÔ¼öµé¿¡ ´ëÇÑ Àüü Äڵ尡 ´ÙÀ½¿¡ º¸¿©Áø´Ù :

/* create the doctor's response */

respond(s)

char *s;

{

    char t[80];

    int loc;

    if (strlen(s)<VERYSHORT && strcmp(s, "bye")) {

      if (find_topic(t)) {

        printf("You just said : ");

        printf("%s ¡¬n",t);

        printf("Tell me more. ¡¬n");

      }

      else {

        if (!*response[res])  res=0;       /* start over again */

        printf("%s ¡¬n", response[res++]);

      }

      return;

    }

     

    if (in_topics(s)) {

      printf("stop repeating yourself ! ¡¬n");

      return;

    }

     

    if (strlen(s)>SHORT) assert_topic(s);

    do {

      get_token();

      loc=lookup(token);

      if (loc!=-1) {

        printf("%s¡¬n", trans[loc+1]);

        return;

      }

    } while(*token);

    /* comment of last resort */

    printf("Tell me more .... ¡¬n");

}

 

/* see if in topics queue */

in_topics(s)

char *s;

{

    int t;

    for (t=0; t<MAX; t++)

      if (!strcmp(s, topics[t]))  return 1;

    return 0;

}

ÀÌ º¯È­¸¦ °¡Áö°í, ȯÀÚ°¡ ÀÌÀü¿¡ ³Ö¾ú´ø °Í°ú µ¿ÀÏÇÑ ¹ÝÀÀÀ» ÀÔ·ÂÇÒ ¶§ ÀÇ»ç´Â ºñ³­À¸·Î ¹ÝÀÀÇÏ°í ȯÀÚ¿¡°Ô »õ·Î¿î ¹®Àå¿¡ ´ëÇÏ¿© ´Ù½Ã ÇÁ·ÒÇÁÆ®¸¦ ³»º¸³½´Ù. È®ÀåµÈ Àüü ¹öÀüÀÌ ¿©±â¿¡ º¸¿©Áø´Ù.

/* Doctor #3 - optimistic and easily annoyed */

#define MAX 100

#define SHORT 10

#define VERYSHORT 3

char *response[]={

    "How are you this beautiful day ?",

    "Did you have a happy childhood ?",

    "Did you hate your father ?",

    "I'm not sure I understand.",

    ""

};

char *trans[]={

    "you", "Let's not talk about me. ",

    "think", "Why do you think that ? ",

    "hate", "So you hate something - tell me more.",

    "what", "Why do you ask ?",

    "want", "Why do you want that ?",

    "need", "We all need many things - is this special ?",

    "why", "Remember, therapy is good for you.",

    "know", "How do you know that ?",

    "bye", "Your bill will be mailed to you.",

    "murder", "I don't like killing.",

    "kill", "It is wrong to kill.",

    "jerk", "Don't ever call me a jerk !",

    "can't", "Don't be negative - be positive.",

    "failure", "Strive for success.",

    "never", "Don't be negative - be positive.",

    "unhappy", "Why are you unhappy ?",

    ""

};

char topics[MAX][80];    /* holds old topics */

char token[80];

char *p_pos;

int res=0;       /* index into response array */

int head=0;    /* head of topics queue */

int tail=0;       /* tail of topics queue */

 

main()

{

    char s[80];

    printf("%s¡¬n",response[res++]);

    do {

      printf(" : ");

      p_pos=s;

      gets(s);

      respond(s);

    } while(strcmp(s, "bye"));

}

 

/* create the doctor's response */

respond(s)

char *s;

{

    char t[80];

    int loc;

    if (strlen(s)<VERYSHORT && strcmp(s, "bye")) {

      if (find_topic(t)) {

        printf("You just said : ");

        printf("%s ¡¬n",t);

        printf("Tell me more. ¡¬n");

      }

      else {

        if (!*response[res])  res=0;       /* start over again */

        printf("%s ¡¬n", response[res++]);

      }

      return;

    }

     

    if (in_topics(s)) {

      printf("stop repeating yourself ! ¡¬n");

      return;

    }

     

    if (strlen(s)>SHORT) assert_topic(s);

    do {

      get_token();

      loc=lookup(token);

      if (loc!=-1) {

        printf("%s¡¬n", trans[loc+1]);

        return;

      }

    } while(*token);

    /* comment of last resort */

    printf("Tell me more .... ¡¬n");

}

 

/* Lookup a keyword in translation table */

lookup(token)

char *token;

{

    int t;

    t=0;

    while(*trans[t]) {

      if (!strcmp(trans[t], token))  return t;

      t++;

    }

    return -1;

}

 

/* place a topic into the topics database */

assert_topics(t)

char *t;

{

    if (head==MAX)  head=0;     /* wrap around */

    strcpy(topics[head], t);

    head++;

}

 

/* retrieve a topic */

find_topic(t)

char *t;

{

    if (tail!=head) {

      strcpy(t, topics[tail]);

      tail++;

      /* wrap around if necessary */

      if (tail==MAX)  tail=0;

      return 1;

    }

    return 0;

}

 

/* see if in topics queue */

in_topics(s)

char *s;

{

    int t;

    for (t=0; t<MAX; t++)

      if (!strcmp(s, topics[t]))  return 1;

    return 0;

}

 

/* return a token from the input stream */

get_token()

{

    char *p;

    p=token;

    /* skip spaces */

    while (*p_pos==' ') p_pos++;

    if (*p_pos=='¡¬0') {              /* is end of input */

      *p++='¡¬0';

      return;

    }

    if (is_in(*p_pos, ".!?")) {

      *p=*p_pos;

      p++, p_pos++;

      *p='¡¬0';

      return;

    }

    /*read word until */

    while(*p_pos!=' ' && !is_in(*p_pos, ".,;?!") && *p_pos) {

      *p=tolower(*p_pos++);

      p++;

    }

    *p='¡¬0';

}

is_in(c, s)

char c, *s;

{

    while(*s) {

      if (c==*s)  return 1;

      s++;

    }

    return 0;

ÀÌ ¹öÀüÀÇ ÇÁ·Î±×·¥ÀÌ ´ÙÀ½ ´ëÈ­¸¦ »êÃâÇÑ´Ù. 

How are you this beautiful day ? : I don't know, I feel bad

How do you know that ? : I feel like I could kill

                                         : I never seem to win

Don't be negative - be positive ! : why, are you sure ?

Remember, therapy is good for you. : why, are you sure ?

Stop repeating yourself. : Hey, who cares jerk

Don't ever call me a jerk ! : I'll call you a jerk any time I want to

Let's not talk about me. : I am unhappy

Why are you unhappy ?

ÀÇ»ç (Doctor ÇÁ·Î±×·¥) ´Â Á¤È®È÷ ¼º°Ý°ú °¨Á¤À» °®´Â °Í °°´Ù. Ãʱ⠹öÀüµé¿¡¼­, ÀÇ»ç´Â ¿ÏÀüÈ÷ ¼öµ¿ÀûÀ̾ú°í ´Ü¼øÈ÷ ȯÀÚÀÇ ´ëÈ­¸¦ °¨µ¶ÇÏ´Â µ¥¿¡ ¸¸Á·ÇÏ´Â °Í °°¾Ò´Ù. ±×·¯³ª ÀÌ ´ëÈ­¿¡ ÀÖ´Â °Íó·³ ÀÇ»ç´Â Ãæ°í¸¦ ÇÏ°í ¹Ýº¹ÇÏ´Â ¼ºÁúÀÌ Àִ ȯÀÚ¿¡°Ô ¼º³¿À¸·Î½á ´õ °ø°ÝÀûÀ¸·Î ÇൿÇÑ´Ù. ¾à°£ÀÇ ºÎ°¡ÀûÀÎ Äڵ尡 °¨Á¤°ú ¼º°Ý¿¡ ´ëÇÑ ¹¦»ç¸¦ ¾î¶»°Ô ¸¸µé¾î ³¾ ¼ö Àִ°¡´Â ³î¶ó¿î ÀÏÀÌ´Ù. ´Ù¸¥ ¼º°Ý À¯Çü°ú °¨Á¤À» °¡Áö°í ½ÇÇèÇØ¾ß ÇÑ´Ù.

4.5. ÀÇ»ç ÇÁ·Î±×·¥ È®ÀåÇϱâ (Expanding the Doctor Program)

ÇÁ·Î±×·¥À» È®ÀåÇϱâ À§ÇÑ ¿©·¯ °¡Áö Á¢±Ù¹æ½ÄÀÌ ÀÖ´Ù. ¸ÕÀú, ´õ ¸¹Àº Å°¿öµå¿Í ¹ÝÀÀ±¸¸¦ trans µ¥ÀÌÅͺ£À̽º¿¡ ÷°¡ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¹æ½ÄÀº ¾ÆÁÖ ½±´Ù : Àç¹ÌÀִ ÷°¡¸¦ °í¾ÈÇس»´Â ¾î·Á¿òÀÌ ¾ø¾î¾ß ÇÑ´Ù. ÀÇ»çÀÇ ¹ÝÀÀÀÌ ±âº»ÀûÀÎ ¼º°ÝÀÇ À¯ÇüÀ» ¹Ý¿µÇÏ°Ô ÇÒ ¼öµµ ÀÖ´Ù.

¶Ç´Ù¸¥ Çâ»óÀº ÈξÀ ´õ ¾î·Æ´Ù : ÇÁ·Î±×·¥ÀÌ ´Ü¼øÈ÷ Å°¿ö¸¦ ã´Â ´ë½Å¿¡ ȯÀÚÀÇ ¸»ÀÇ °¢ ±¸Àý¿¡ ´õ Ưº°ÇÏ°Ô ¹ÝÀÀÇÒ ¼ö ÀÖµµ·Ï Á¦ 4 ÀåÀÇ µÇºÎ¸§ ÇÏÇâ ÀÚ¿¬¾ð¾î Æļ­ (recursive-descent natural-language parser) ¸¦ ÇÁ·Î±×·¥¿¡ ÇÕÄ¥ ¼ö ÀÖ´Ù.

¸¶Áö¸·À¸·Î, Åä·ÐÀÌ ÁøÇàÇÔ¿¡ µû¶ó ÀÇ»çÀÇ °¨Á¤ÀÌ º¯È­ÇÏ°Ô ÇÏ·Á°í ½ÃµµÇϱ⠿øÇÒ ¼öµµ ÀÖ´Ù : ÀÌ·± º¯È­¸¦ ȯÀÚÀÇ ¹ÝÀÀ¿¡ ±âÃʸ¦ µÎ°í ÀÖ´Ù. º»ÁúÀûÀ¸·Î, ºÐÀ§±â º¯È­¸¦ ÷°¡ÇÒ °ÍÀÌ´Ù. ¼º°øÇÏ°í ¾ÈÇÏ°í´Â Àΰ£ÀÇ Çൿ¿¡ ´ëÇÑ ½Ã¹Ä·¹À̼ǿ¡ ¾òÀ» ÅëÂû¸¸Å­ Áß¿äÇÏÁö ¾Ê´Ù.

5. Àΰ£´Ù¿î ÄÄÇ»ÅÍÀÇ ¾Ï½Ã (IMPLICATIONS OF HUMANLIKE COMPUTERS)

Àΰ£ÀÇ ÇൿÀ» ½Ã¹Ä·¹ÀÌÆ®ÇÏ´Â ÃÖÁ¾Àû »ý°¢À¸·Î, ÀΰøÀûÀÎ »ç¶÷ (Àΰ£°°Àº ·Îº¿) ÀÇ »çȸÀûÀÎ Àǹ̸¦ »ý°¢ÇÏ´Â °ÍÀº Àç¹ÌÀÖ´Ù. ÀÚÀ²ÀûÀÎ ·Îº¿ÀÌ Àΰ£´Ù¿î ÇൿÀ» º¸À̴µ¥¿¡ ÃæºÐÈ÷ ¼º°øÀûÀ̸ç, »ç¶÷µéÀº ±×°ÍÀ» ±â°è ÀÌ»óÀÇ ¾î¶² °ÍÀ¸·Î ÀνÄÇϱ⠽ÃÀÛÇÒ °ÍÀΰ¡?

Àá½Ãµ¿¾È, ·Îº¿ÀÌ ¿øÇϰųª ¿øÇÏÁö ¾Ê´Â °ÍÀ» ¹«½ÃÇÏÀÚ. ¹®Á¦´Â ´ÙÀ½ÀÌ´Ù. Áï, »çȸ´Â ÀÌ·± À¯ÇüÀÇ ·Îº¿¿¡ ´ëÇÏ¿© ¹«¾ùÀ» ¿øÇÒ±î? »ç¶÷µéÀº ÈçÈ÷ °¨Á¤ÀûÀ¸·Î ¾Ö¿Ï¿ë °³¿Í °í¾çÀÌ¿¡°Ô ¾ÖÂøÀ» °®´Â´Ù. »ç¶÷µéÀÌ Àΰ£°°Àº ·Îº¿¿¡°Ô °°Àº ¾ÖÁ¤°ú ÃæÀǸ¦ ´À³¥ °ÍÀº È®½ÇÇÑ °Í °°´Ù. ÀÌ·± À¯ÇüÀÇ °¨Á¤Àû À¯´ëÀÇ °¡´É¼ºÀº ÀÌ·± À¯ÇüÀÇ ±â°è¿¡ ´ëÇÑ ÇÁ·Î±×·¡¸Ó¿¡°Ô »ö´Ù¸¥ Ã¥ÀÓÀ» ºÎ°úÇÑ´Ù - ÀÌ°ÍÀÇ Á߿伺Àº ÃæºÐÈ÷ ÀÌÇصÇÁö ¾Ê´Â´Ù.

¶Ç´Ù¸¥ Àç¹ÌÀÖ´Â Á¡Àº Ã¥ÀÓ ¹®Á¦ÀÌ´Ù. Àΰ£´Ù¿î ÀÚÀ²·Îº¿ÀÌ ±¤ÆøÇØÁ®¼­ »ç¶÷À» Á×ÀÌ¸é ´©°¡ ºñ³­¹Þ¾Æ¾ß Çϴ°¡? ·Îº¿Àΰ¡? ÀÌ ¿ì¿¬ÇÑ »ç°ÇÀ» º¸È£ÇÏÁö ¸øÇÑ ÇÁ·Î±×·¡¸ÓÀΰ¡? Ȥ½Ã ½Ç¼ö¾ø´Â ½Ã½ºÅÛÀ» °ø±ÞÇÏÁö ¸øÇÑ Çϵå¿þ¾î Á¦Á¶¾÷ÀÚÀΰ¡? ÀÌ Áú¹®µéÀº ¼±·Ê°¡ ¾ø±â ¶§¹®¿¡ ¾î·Á¿î °ÍÀÌ´Ù. ´ëºÎºÐÀÇ »ý»ê Ã¥ÀÓÀÇ °æ¿ì´Â °èȹÀûÀÎ ¹«½Ã¿¡ µû¶ó °áÁ¤µÈ´Ù. ±×·¯³ª, ÀÌ·± ¼öÁØÀÇ º¹À⼺À» °®´Â ·Îº¿ÀÇ °æ¿ì¿¡ Á¤½ÅÀ» Çü¼ºÇÏ´Â µ¥¿¡ ¹®ÀÚ ±×´ë·Î ¼ö¹é¸¸ ¶Ç´Â ¼ö½Ê¾ï ¹ÙÀÌÆ®ÀÇ Äڵ带 °¡Áö°í, ¶Ç ÇнÀÇÏ´Â ´É·Â°ú, Àΰ£ÀÇ È¯°æ°úÀÇ ÀÎÅÍÆäÀ̽º¸¦ °¡Áö°í - ½ÇÆÐÀÇ È®Á¤ÀÌ ÀÖÀ» ¼ö ÀÖ´Ù´Â °ÍÀº ¸íÈ®ÇÏÁö ¾Ê´Ù.

¸¶Áö¸·À¸·Î, »ç¶÷¸¸Å­ ¶Ç´Â »ç¶÷º¸´Ù ´õ ¿µ¸®ÇÏ°í »ç¶÷ó·³ ÇൿÇÏ´Â ±â°è´Â ¾î¶² ÇÕ¹ýÀûÀÎ ±Ç¸®¸¦ ºÎ¿©¹ÞÀ» °ÍÀΰ¡? ÀÌ Áú¹®Àº ÇöÀç¿¡´Â ¿ì½º¿î °Í °°Áö¸¸, 1800 ¿¬´ë¿¡ µ¿¹°ÀÇ ±Ç¸®°¡ óÀ½ Á¦¾ÈµÇ¾úÀ» ¶§ ¸¹Àº »ç¶÷µé¿¡°Ô ¿ì½º¿ü´ø °Í °°´Ù. ±×·¯³ª ¿À´Ã³¯, ¾Ö¿Ïµ¿¹°¿¡ ´ëÇÑ ¾ûÅ͸®¾ø´Â ºÎ´çÇÑ ´ë¿ì¸¦ ÀÎÁ¤ÇÒ »ç¶÷Àº °ÅÀÇ ¾ø´Ù.

ÀÌ ÀÇ¹Ì¿Í ´Ù¸¥ Àǹ̵éÀº ÀÌ·± À¯ÇüÀÇ ±â°è¸¦ ¸¸µå´Â µ¥¿¡ °ü°èµÈ ¸ðµç ÇÁ·Î±×·¡¸Óµé¿¡°Ô ¿µÇâÀ» Áִµ¥ ¿Ö³ÄÇÏ¸é ±×µéÀº »õ·Î¿î ¼¼°è - ÇöÀç »ì°í ÀÖ´Â ¼¼°è¿Í´Â ¸Å¿ì ´Ù¸¥ ¼¼°è - ·Î ¾È³»ÇÒ »ç¶÷µéÀ̱⠶§¹®ÀÌ´Ù.