ÃֽŠ°Ô½Ã±Û(JAVA)
2018.06.18 / 10:20

API.AI·Î ÄÚµù¾øÀÌ Ãªº¿¸¸µé±â

¸®¾ó¸®
Ãßõ ¼ö 222

API.AI

¸Þ½ÅÀú ¼­ºñ½ºÀÇ »ç¿ë·üÀÌ ±Þ»ó½ÂÇϸ鼭 꺿ÀÌ ¶°¿À¸£°íÀÖ´Ù. API.AI AMICA.AI WIT.AI µî 꺿À» ½±°Ô ¸¸µé¼ö ÀÖ´Â ¼­ºñ½ºµéÀÌ »ý°Ü³ª°íÀÖ´Ù. ÀÌ·± ¼­ºñ½ºµéÀ» 꺿ºô´õ¶ó°íÇϴµ¥, ±× Áß ÃÖ±Ù¿¡ ±¸±Û¿¡ ÀμöµÈ API.AI¸¦ »ìÆ캸ÀÚ

±â´É

API.AI¿Í °°Àº 꺿ºô´õµéÀÌ Á¦°øÇÏ´Â ±â´ÉÀ¸·Î´Â Å©°Ô ÀǵµºÐ¼®(Intent), ¼ººÐºÐ¼®(Entity)°¡ ÀÖ´Ù.

ÀǵµºÐ¼®À̶õ ¾î¶² ¹®ÀåÀÌ ¾î¶² Àǵµ¸¦ °¡Áö°í ÀÖ´ÂÁö¸¦ ºÐ·ùÇس»´Âµ¥, ¿¹¸¦µé¸é "ºÒ°í±âÇÇÀÚ ¶óÁö»çÀÌÁî·Î ÁÖ¹®ÇÒ°Ô¿ä"¿Í °°Àº ¹®ÀåÀº ¡®ÁÖ¹®¡¯À̶ó´Â ÀǵµÀÌ°í, "¿À´Ã 3½Ã¿¡ ȸÀÇ½Ç ¿¹¾àÇØÁà"¶ó´Â ¹®ÀåÀº ¡®È¸ÀÇ½Ç ¿¹¾à¡¯À̶ó´Â ÀǵµÀÌ´Ù.

¼º¹®ºÐ¼®À̶õ ¹®Àå ³»¿¡ ÀÖ´Â ¼ººÐµéÀÌ ¾î¶²°ÍµéÀÌ ÀÖ´ÂÁö ÃßÃâÇس»´Â ÀÛ¾÷ÀÌ´Ù. ¿¹¸¦µé¾î "ºÒ°í±âÇÇÀÚ ¶óÁö»çÀÌÁî·Î ÁÖ¹®ÇÒ°Ô¿ä" ¿¡¼­´Â

"ºÒ°í±âÇÇÀÚ" = @pizza_type

"¶óÁö»çÀÌÁî" = @pizza_size 

ó·³ ÇÇÀÚÀÇ Á¾·ù¿Í »çÀÌÁ ÃßÃâÇس»°í

"¿À´Ã 3½Ã¿¡ ȸÀÇ½Ç ¿¹¾àÇØÁà" ¶ó´Â ¹®Àå¿¡¼­´Â

"¿À´Ã" = @date
"3½Ã" = @time

ó·³ ½Ã°£°ú ³¯Â¥¸¦ ÃßÃâÇس»´Â ÀÛ¾÷ÀÌ´Ù.

API.AI¿¡¼­´Â ÀǵµºÐ¼®°ú ¼ººÐºÐ¼®¿Ü¿¡µµ ´Ù¾çÇÑ ±â´ÉµéÀ» Á¦°øÇÏ°íÀÖ´Ù.terminal

ȸÀÇ½Ç ¿¹¾àº¿

API.AIÀÇ ±â´ÉµéÀ» ÀÌ¿ëÇØ Á÷Á¢ ȸÀǽÇÀ» ¿¹¾àÇÏ´Â Intent¸¦ ¸¸µé¾îº¸ÀÚ!

¿ì¸®°¡ ÀǵµÇϴ êº¿Àº ¾Æ·¡Ã³·³ µ¿ÀÛÇÒ°ÍÀÌ´Ù.

>> ¿À´Ã 3ȸÀÇ½Ç 3½ÃºÎÅÍ 4½Ã±îÁö ¿¹¾àÇØ~
@date : today
@roomnum : 3
@time-period : 15:00~16:00
>> 꺿 : ¿À´Ã 3ȸÀǽÇÀ» 15½ÃºÎÅÍ 16½Ã±îÁö ¿¹¾àÇß½À´Ï´Ù.

¿©±â¼­ api.ai¿¡¼­ ÇؾßÇÒ °ÍÀº ȸÀǽǿ¹¾à intent¸¦ ó¸®Çϴ°ÍÀÌ´Ù.

terminal

IntentÅÇ¿¡¼­ CREATE INTENT¸¦ ´­·¯ ȸÀÇ½Ç ¿¹¾à Intent¸¦ »õ·Î »ý¼ºÇÏÀÚ.

terminal

Intent name : Intent¸¦ ½Äº°ÇÏ´Â À̸§ÀÌ´Ù. ³ªÁß¿¡ api¸¦ È£ÃâÇÒ¶§ ÀÌ À̸§À¸·Î ±¸ºÐÇÑ´Ù. User says : À¯Àú°¡ ÀÔ·ÂÇÒ ¹®ÀåÀ» Àû´Â´Ù. ºñ½ÁÇÑ ÇüÅ·Π¿©·¯ ¹®ÀåÀ» Àû¾î³õÀ¸¸é, api.ai¿¡¼­ ÀÚµ¿À¸·Î ºñ½ÁÇÑ ¹®ÀåÀÏ °æ¿ì ÀÌ intent·Î ÀνÄÇÑ´Ù. Parameter : ¹®Àå ¾È¿¡ µé¾î°¡´Â ¿ä¼ÒµéÀÌ´Ù. Entity¸¦ Á÷Á¢ ¸¸µé¾î¼­ ³ÖÀ»¼öµµ ÀÖ°í, ½Ã½ºÅÛ¿¡¼­ Á¦°øÇÏ´Â @sys.date¿Í °°Àº °ªµéµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. Response : ÀÌ Intent·Î ¹®ÀåÀÌ ºÐ·ù?çÀ»¶?, ¼º¹®ºÐ¼® ¿Ü¿¡µµ Á÷Á¢ ´äº¯À» Á¤ÇسõÀ» ¼ö ÀÖ´Ù. À̹ÌÁö³ª ¿©·¯ ¸®¼Ò½ºµµ È°¿ëÇÒ ¼ö ÀÖ°í, ¿©·¯°³¸¦ ÀÔ·ÂÇسõÀ¸¸é ±× Áß ·£´ýÀ¸·Î Ãâ·ÂµÈ´Ù.

ȸÀÇ½Ç ¿¹¾àº¿À» À§ÇÑ intent¸¦ ¸¸µé¾îº¸¸é ¾Æ·¡¿Í °°ÀÌ µÉ°ÍÀÌ´Ù.

terminal

ÀÌ·¸°Ô ¸¸µé¾îÁø intent¸¦ ¿À¸¥ÂÊ ¡®Try it now¡¯Ã¢¿¡¼­ Á÷Á¢ Çغ¼ ¼ö ÀÖ´Ù.

terminal

¸¸µé¾îÁø °á°ú´Â °³¹ßÀÚ¿¡°Ô jsonÇüÅ·Π¸®ÅϵȴÙ. ¿©±â¼­ ¼³Á¤Çسù´ø entityµéÀ» ¾Ë ¼ö ÀÖ°í, response¸¦ ÁöÁ¤Çسù´Ù¸é ±× Áß Çϳª°¡ ·£´ýÀ¸·Î Ãâ·ÂµÇ°ÔµÈ´Ù.

{
  "id": "304c0d7f-db9c-4a99-b29c-83917a584c3f",
  "timestamp": "2017-04-12T15:36:32.402Z",
  "lang": "ko",
  "result": {
    "source": "agent",
    "resolvedQuery": "¿À´Ã 3ȸÀÇ½Ç 3½ÃºÎÅÍ 4½Ã±îÁö ¿¹¾àÇØÁà",
    "action": "",
    "actionIncomplete": false,
    "parameters": {
      "date": "2017-04-13",
      "date-period": "",
      "roomnum": "3ȸÀǽÇ",
      "time-period": "03:00:00/04:00:00"
    },
    "contexts": [],
    "metadata": {
      "intentId": "3a9bff00-2f6a-40e0-8e2c-3f0e1b66a622",
      "webhookUsed": "false",
      "webhookForSlotFillingUsed": "false",
      "intentName": "book"
    },
    "fulfillment": {
      "speech": "",
      "messages": [
        {
          "type": 0,
          "speech": ""
        },
        {
          "type": 0,
          "speech": ""
        }
      ]
    },
    "score": 1
  },
  "status": {
    "code": 200,
    "errorType": "success"
  },
  "sessionId": "0ef49b10-5061-4211-91bd-f47aefb22004"
}

ÀÌÁ¦ ÀÌ·¸°Ô ¸¸µç 꺿ºô´õ¸¦ facebookÀ̳ª slack µî¿¡ ¿¬°áÇϱ⸸ ÇÏ¸é µÈ´Ù.