Name | Role |
---|---|
Kim Jeongin | Application Backend, NUGU backend proxy |
Kim Jina | Application Frontend, NUGU playbuilder |
Jung Sihyun | Application Backend, NUGU backend proxy |
Theophile | Application Backend - Machine Learning |
Β Β Β Β NUGU Play Builder is a development tool that can easily create AI services which can be used in SKT NUGU devices and applications with simple code definition and example sentence input.Β Β Β Β The picture above is NUGU play structure of 보λ¦λ¬.
Intent : ask.Mood
주체 | λ°ν μμ | νλ€μ΄ |
---|---|---|
μ¬μ©μ | Entity | MOOD |
Action : ask.Mood
주체 | λ°ν μμ | κ°λμ νΈμ΄λλ κ² λμμ΄ λ μλ μμ΄μ ... |
---|---|---|
NUGU | - | - |
Intet : ask.Tip
주체 | λ°ν μμ | λ°°κ° μν |
---|---|---|
μ¬μ©μ | Entity | TIP |
Action : ask.Tip
주체 | λ°ν μμ | μ λ₯Ό λ°λΌ μ¬νΈν‘μ ν΄λ³΄μΈμ ... |
---|---|---|
NUGU | - | - |
Intent : ask.selfTest
주체 | λ°ν μμ | μκ°μ§λ¨ν λ |
---|---|---|
μ¬μ©μ | - | - |
Action : answer.selfTest
주체 | λ°ν μμ | μ΄λ€ μκ°μ§λ¨μ μνμΈμ? μ리ν μν μκ°μ§λ¨μ 1λ², μ리ν μκΉ μκ°μ§λ¨μ 2λ²μ΄λΌκ³ λ§μν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
주체 | λ°ν μμ | 1λ² |
---|---|---|
μ¬μ©μ | Entity | NUMBER |
check.bleedState : NUMBER === 1λ²
주체 | λ°ν μμ | μ리ν μν μκ°μ§λ¨μ μμν κ²μ. μ리λ μμΌλ‘ λ°μ Έλ³΄λ©΄, ν루μ μ리λ 5κ° μ λλ₯Ό μ¬μ©νλ κ²μ΄ μ μμ μΈ μ리μ μμ΄λΌκ³ λ³Ό μ μμ΅λλ€. μ리λμ΄ κ°μκΈ° λ§μμ‘μΌλ©΄ 1λ², μ리λμ΄ λ무 μ μΌλ©΄ 2λ², μ리ν λ νλ©μ΄λ¦¬κ° λμ€λ©΄ 3λ²μ΄λΌκ³ λ§μν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
주체 | λ°ν μμ | 1λ² |
---|---|---|
μ¬μ©μ | Entity | NUMBER |
check.bleedState_large : NUMBER === 1λ²
주체 | λ°ν μμ | μ리λμ΄ κ°μκΈ° λμμ κ²½μ°, "μ€νΈλ μ€κ° νμλ³΄λ€ κ³Όνκ΅°." νκ³ λμ΄κ°μλ μλ©λλ€! μ리λμ΄ κΈκ²©νκ² λ§μ΄ λμλ€λ©΄, μκΆκ·Όμ’ μ μμ¬ν΄λ³Ό μ μμ΅λλ€. κ·Έλ₯ λκ²Όλ€κ° λ³μ ν€μΈ μλ μμΌλ, κΌ μ°λΆμΈκ³Όμ λ°©λ¬Ένμ¬ κ²μ¬λ₯Ό λ°μ보μλ κ²μ΄ μ’μ΅λλ€! |
---|---|---|
NUGU | - | - |
check.bleedState_small : NUMBER === 2λ²
주체 | λ°ν μμ | λ°°λκΈ°κ° μ§λλ©΄ μκΆλ΄λ§μ λκ»λ 8mm μ΄μμΌλ‘ λκΊΌμμ ΈμΌ νλλ° κ·Έλ μ§ μμ κ²½μ°μλ μ리λμ΄ μ μ΄μ§κ² λ©λλ€. μκΆλ΄λ§μ΄ 8mm μ΄μμΌλ‘ μ±μ₯νμ§ μμΌλ©΄ μμ ν μ°©μμ μ§μ₯μ μ€ μ μκΈ° λλ¬Έμ μμ μ μ μ’μ μν₯μ λΌμΉ μ μμΌλ κΌ κΈ°μ΅ν΄ μ£ΌμΈμ! |
---|---|---|
NUGU | - | - |
check.bleedState_mass : NUMBER === 3λ²
주체 | λ°ν μμ | μ리ν λ λμ€λ νΌμ λ©μ΄λ¦¬λ₯Ό νλ°©μμλ μ΄νμ΄λΌκ³ λΆλ¬μ. μ¬ν μ€νΈλ μ€ λ±μΌλ‘, νμ‘κ³Ό κΈ° μνμ΄ μ λμ§ μμμμκΈ°λ κ²μΌλ‘ νλ©μ΄κ° λ§μ΄ λμ€λ λΆλ€μ ν볡λμ¦μ΄λ μ리ν΅μ΄ μ¬ν κ°λ₯μ±μ΄ 컀μ. λͺΈμ λ°λ»νκ² ν΄μ£Όκ³ νμ‘μνμ΄ μ λλλ‘ μ€νΈλ μΉμ΄λ κ°λ²Όμ΄ μ°μ± λ± κ·μΉμ μΌλ‘ μ΄λνλ κ²μ΄ μκΆκ±΄κ°κ³Ό λ΄ λͺΈ 건κ°μ μ’μμ! |
---|---|---|
NUGU | - | - |
check.bleedColor : NUMBER === 2λ²
주체 | λ°ν μμ | μ리ν μκΉ μκ°μ§λ¨μ μμν κ²μ. μ리ν μκΉμ΄ μ λͺ ν λΆνμμ΄λ©΄ 1λ², λ°μ λΉ¨κ°μμ΄λ©΄ 2λ², μ΄λμ΄ μμ£Όμμ΄λ©΄ 3λ², μ£Όν©λΉμ΄λ©΄ 4λ², μ§ν κ°μμ΄λ©΄ 5λ², κ²μμμ΄λ©΄ 6λ²μ΄λΌκ³ λ§μν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
주체 | λ°ν μμ | 1λ² |
---|---|---|
μ¬μ©μ | Entity | NUMBER |
check.bleedColor_PINK
주체 | λ°ν μμ | μ리 μ΄κΈ°μλ μ리νμ΄ μ λΆνμμ λ μ μμ§λ§, μ리 κΈ°κ° μ€ νν¬λΉμ 보μΈλ€λ©΄ λ΄λΆμμ, μ±λ³ λλ νΈλ₯΄λͺ¬ λ³ν λ± κ±΄κ° μμ λ¬Έμ κ° μμ μ μμΌλ―λ‘ μ°λΆμΈκ³Ό μ§λ¨μ΄ νμν΄μ. λν, μ리 κΈ°κ° μΈμ μ΄λ¬ν μΆνμ΄ μλ€λ©΄ μκΆμΌμ¦ νΉμ μμ κ°λ₯μ±μ΄ μμΌλ―λ‘ μ νν κ²μ¬λ₯Ό μν΄ λ³μμ κΌ λ°©λ¬Έν΄μ£ΌμΈμ! |
---|---|---|
NUGU | - | - |
check.bleedColor_RED
주체 | λ°ν μμ | νν μ리ν μκΉλ‘, νΈλ₯΄λͺ¬ μμΉκ° μ λΉνλ©° νμ‘μνμ΄ μνν κ²½μ° λ°μ λΉ¨κ°μμ μ리νμ΄ λνλμ. κ·Έλ¬λ μ§λμΉκ² λ°μ λΆνλΉμ λλ€λ©΄ μμ€νΈλ‘κ² μμΉμ λ¬Έμ μΌμλ μμ΄μ. λ€μ΄μ΄νΈ, λν κ³Όλν μμ½μ¬ μμ·¨λ‘λ λνλ μ μμ΄μ. |
---|---|---|
NUGU | - | - |
check.bleedColor_PURPLE
주체 | λ°ν μμ | μ리λμ΄ λ§μ κ²½μ° μ΄λμ΄ μμ£Όμμ λ©μ΄λ¦¬ νμ΄ λ³΄μΌ μ μμ΄μ. κ·Έλ¬λ, νμΈκ³Ό λΉκ΅νμ λ, μμ£Ό μ리λλ₯Ό κ΅μ²΄ν΄μΌ ν μ λλ‘ μ리νμ΄ λ°°μΆλλ€λ©΄ μκΆκ·Όμ’ , μκΆμ κ·Όμ¦ λ± μ¬μ± μ§νμ μ νΈμΌ μ μμΌλ―λ‘ μ£Όμν΄μ£ΌμΈμ! |
---|---|---|
NUGU | - | - |
check.bleedColor_ORANGE
주체 | λ°ν μμ | μ§μΌμ κ°μΌλμμ κ°λ₯μ±μ΄ λλ€κ³ λ³Ό μ μμ΄μ. μ§μΌμ νν μ§λ³μ΄μ§λ§, λ°©μΉνκ² λλ©΄ λ ν° μ§λ³ λλ λ€λ₯Έ μ§λ³μ μΌκΈ°νκ³ νλμν¬ μ μλ΅λλ€! μ§μΌμ΄ μ¬κ°νμ§ μλ€κ³ κ°λ³κ² μκ°νμ§ λ§κ³ μ΄κΈ°μ λ³μμ μ°Ύλ κ²μ΄ μ’μμ. |
---|---|---|
NUGU | - | - |
check.bleedColor_BROWN
주체 | λ°ν μμ | μ€λλ μ리νμ΄ λμ€λ κ²μΌ μ μμΌλ―λ‘ μ리 첫λ λλ λμλ½ μ¦μμ΄λΌλ©΄, κ±±μ νμ§ μμλ λΌμ! κ·Έλ¬λ μ리 κΈ°κ° μ€ μ§ν κ°μμ μ리νμ΄ λμ¨λ€λ©΄, μ΄λ λΆμ μΆνλ‘ μκΆκ·Όμ’ λλ μκΆλ΄λ§μ¦ μΌ μ μμ΄μ! |
---|---|---|
NUGU | - | - |
check.bleedColor_BLACK
주체 | λ°ν μμ | μ리 λ λ¬΄λ ΅, λλ μ리μμ΄ λ§μ μΌμΌμμ μ¬μΌ κ²½μ, κ²μμμ λλ μ리νμ΄ λμ¬ μ μμ΄μ. κ·Έλ¬λ μ΄ μνκ° μ€λ μ§μλλ€λ©΄ μκΆκ·Όμ’ μ μμ¬ν΄ λ³Ό μ μμ΄μ. |
---|---|---|
NUGU | - | - |
Intent : ask.pill
주체 | λ°ν μμ | μ½ | μΆμ²ν΄μ€ |
---|---|---|---|
μ¬μ©μ | Entity | PILL | - |
Action : check.userID2
주체 | λ°ν μμ | 보λ¦λ¬ μ΄νμ λ©μΈ νμ΄μ§μμλ λꡬ μ€νΌμ»€μμ΄λλ₯Ό λ§μν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
주체 | λ°ν μμ | 1 |
---|---|---|
μ¬μ©μ | Entity | user_ID |
answer.pill
주체 | λ°ν μμ | 1 | λμ μ 보λ₯Ό μλ €λ릴κ²μ. |
---|---|---|---|
NUGU | Entity | user_ID | - |
주체 | λ°ν μμ | κ·Έλ |
---|---|---|
μ¬μ©μ | Entity | YON |
주체 | λ°ν μμ | μ½μ μΆμ²ν΄λ릴κ²μ. κ²λ³΄λ¦°κ³Ό νμνλ₯Ό 볡μ©νμΈμ. |
---|---|---|
NUGU | Backend Parameter | pillPredict |
* answer.noPill : No symptoms exist in the database
주체 | λ°ν μμ | μ λ ₯λ μ¦μμ΄ μμ΄μ μΆμ²ν΄λ릴 μ μμ΄μ. 보λ¦λ¬ μ΄νμμ μ¦μμ μ λ ₯ν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
* answer.wrongID3 : No id exists in the database
주체 | λ°ν μμ | μ‘΄μ¬νλ μμ΄λκ° μμ΄μ. 보λ¦λ¬ μ΄ν λ©μΈ νμ΄μ§μμ λꡬ μ€νΌμ»€ μμ΄λλ₯Ό νμΈν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
* answer.WRONG3 : YON is not 'μ'
주체 | λ°ν μμ | 보λ¦λ¬μ μ’ λ£ν κ²μ. |
---|---|---|
NUGU | - | - |
Intent : ask.meanCycle
주체 | λ°ν μμ | μ£ΌκΈ° | μλ €μ€ |
---|---|---|---|
μ¬μ©μ | Entity | MEANCYCLE | - |
Action : check.userID1
주체 | λ°ν μμ | 보λ¦λ¬ μ΄νμ λ©μΈ νμ΄μ§μμλ λꡬ μ€νΌμ»€μμ΄λλ₯Ό λ§μν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
주체 | λ°ν μμ | 1 |
---|---|---|
μ¬μ©μ | Entity | user_ID |
answer.meanCycle
주체 | λ°ν μμ | 1 | λμ μ 보λ₯Ό μλ €λ릴κ²μ. |
---|---|---|---|
NUGU | Entity | user_ID | - |
주체 | λ°ν μμ | κ·Έλ |
---|---|---|
μ¬μ©μ | Entity | YON |
주체 | λ°ν μμ | νμλμ μ£ΌκΈ°λ | 30 | μΌ μ λλ€. |
---|---|---|---|---|
NUGU | Backend Parameter | - | meanCycle | - |
* answer.noMeanCycle : No meanPeriod exists in the database, not enough data to calculate meanPeriod
주체 | λ°ν μμ | μ λ ₯λ μΆ©λΆν μ£ΌκΈ°κ° μλ€μ. μ΄νμμ μ£ΌκΈ°λ₯Ό μ λ ₯ν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
* answer.wrongID3 : No id exists in the database.
주체 | λ°ν μμ | μ‘΄μ¬νλ μμ΄λκ° μμ΄μ. 보λ¦λ¬ μ΄ν λ©μΈ νμ΄μ§μμ λꡬ μ€νΌμ»€ μμ΄λλ₯Ό νμΈν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
* answer.WRONG3 : YON is not 'μ'
주체 | λ°ν μμ | 보λ¦λ¬μ μ’ λ£ν κ²μ. |
---|---|---|
NUGU | - | - |
Intent : ask.cycle
주체 | λ°ν μμ | μ΄λ² μ리 | μΈμ λλ? |
---|---|---|---|
μ¬μ©μ | Entity | CYCLE_STATE | - |
Action : check.userID3
주체 | λ°ν μμ | 보λ¦λ¬ μ΄νμ λ©μΈ νμ΄μ§μμλ λꡬ μ€νΌμ»€μμ΄λλ₯Ό λ§μν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
주체 | λ°ν μμ | 1 |
---|---|---|
μ¬μ©μ | Entity | user_ID |
answer.cycle
주체 | λ°ν μμ | 1 | λμ μ 보λ₯Ό μλ €λ릴κ²μ. |
---|---|---|---|
NUGU | Entity | user_ID | - |
주체 | λ°ν μμ | κ·Έλ |
---|---|---|
μ¬μ©μ | Entity | YON |
주체 | λ°ν μμ | νμλμ μ΄λ² μ리 μμμΌμ | 2020-12-3 | μ΄κ³ , μ’ λ£μΌμ | 2020-12-9 | μ λλ€. |
---|---|---|---|---|---|---|
NUGU | Backend Parameter | - | cycleStart | - | cycleEnd | - |
* answer.noCycle : No real cycle exists in the database
주체 | λ°ν μμ | μ λ ₯λ μ£ΌκΈ°κ° μλ€μ. μ΄νμμ μ£ΌκΈ°λ₯Ό μ λ ₯ν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
* answer.wrongID1 : NO id exists in the database
주체 | λ°ν μμ | μ‘΄μ¬νλ μμ΄λκ° μμ΄μ. 보λ¦λ¬ μ΄ν λ©μΈ νμ΄μ§μμ λꡬ μ€νΌμ»€ μμ΄λλ₯Ό νμΈν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
* answer.WRONG1 : YON is no 'μ'
주체 | λ°ν μμ | 보λ¦λ¬μ μ’ λ£ν κ²μ. |
---|---|---|
NUGU | - | - |
Intent : input.cycle
주체 | λ°ν μμ | λ | μ€λ | μ리 | μμ | νμ΄ |
---|---|---|---|---|---|---|
μ¬μ©μ | Entity | - | DATE | - | CYCLE | - |
Action : check.userID5
주체 | λ°ν μμ | 보λ¦λ¬ μ΄νμ λ©μΈ νμ΄μ§μμλ λꡬ μ€νΌμ»€μμ΄λλ₯Ό λ§μν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
주체 | λ°ν μμ | 1 |
---|---|---|
μ¬μ©μ | Entity | user_ID |
output.cycleStart
주체 | λ°ν μμ | 1 | λμ μ 보μ μ λ ₯ν©λλ€. |
---|---|---|---|
NUGU | Entity | user_ID | - |
주체 | λ°ν μμ | κ·Έλ |
---|---|---|
μ¬μ©μ | Entity | YON |
주체 | λ°ν μμ | μ리 μμμΌμ μ λ ₯νμ΅λλ€. |
---|---|---|
NUGU | - | - |
* answer.wrongID5_1 : No id exists in the database
주체 | λ°ν μμ | μ‘΄μ¬νλ μμ΄λκ° μμ΄μ. 보λ¦λ¬ μ΄ν λ©μΈ νμ΄μ§μμ λꡬ μ€νΌμ»€ μμ΄λλ₯Ό νμΈν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
* answer.WRONG5_1 : YON is not μ'
주체 | λ°ν μμ | 보λ¦λ¬μ μ’ λ£ν κ²μ. |
---|---|---|
NUGU | - | - |
output.cycleEnd
주체 | λ°ν μμ | 1 | λμ μ 보μ μ λ ₯ν©λλ€. |
---|---|---|---|
NUGU | Entity | user_ID | - |
주체 | λ°ν μμ | κ·Έλ |
---|---|---|
μ¬μ©μ | Entity | YON |
주체 | λ°ν μμ | μ리 μ’ λ£μΌμ μ λ ₯νμ΅λλ€. |
---|---|---|
NUGU | - | - |
- answer.wrongID5_2 : No id eixstis in the database
주체 | λ°ν μμ | μ‘΄μ¬νλ μμ΄λκ° μμ΄μ. 보λ¦λ¬ μ΄ν λ©μΈ νμ΄μ§μμ λꡬ μ€νΌμ»€ μμ΄λλ₯Ό νμΈν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
- answer.WRONG5_2 : YON is not 'μ'
주체 | λ°ν μμ | 보λ¦λ¬μ μ’ λ£ν κ²μ. |
---|---|---|
NUGU | - | - |
Intent : input.pastCycleStart
주체 | λ°ν μμ | 2020λ | 12μ | 9μΌ | μ | μ리 μμ | νμ΄ |
---|---|---|---|---|---|---|---|
μ¬μ©μ | Entity | START_YEAR | START_MONTH | START_DATE | - | PAST_CYCLE_START | - |
Action : add.pastPeriod
주체 | λ°ν μμ | μ리 μμμ μ λ ₯νμ ¨μ΅λλ€. μ리λ₯Ό λ©°μΉ λμ νμ ¨λμ§ μλ €μ£ΌμΈμ. μ΄ν λμ νμ ¨λ€λ©΄, 2μΌμ΄λΌκ³ λ§μν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
주체 | λ°ν μμ | 2 | μΌ |
---|---|---|---|
μ¬μ©μ | Entity | PAST_PERIOD | - |
check.userID6
주체 | λ°ν μμ | 보λ¦λ¬ μ΄νμ λ©μΈ νμ΄μ§μμλ λꡬ μ€νΌμ»€μμ΄λλ₯Ό λ§μν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
주체 | λ°ν μμ | 1 |
---|---|---|
μ¬μ©μ | Entity | user_ID |
output.pastCycle
주체 | λ°ν μμ | 1 | λμ μ 보μ μ λ ₯ν©λλ€. |
---|---|---|---|
NUGU | Entity | user_ID | - |
주체 | λ°ν μμ | κ·Έλ |
---|---|---|
μ¬μ©μ | Entity | YON |
주체 | λ°ν μμ | μ리 μ’ λ£μΌμ μ λ ₯νμ΅λλ€. |
---|---|---|
NUGU | - | - |
- answer.wrongID6 : No id exists in the database
- answer.WRONG6 : YON is not 'μ'
Intent : ask.predictCycle
주체 | λ°ν μμ | μ리 μμ μΌ | μλ €μ€ |
---|---|---|---|
μ¬μ©μ | Entity | CYCLE_STATE | - |
Action : check.userID4
주체 | λ°ν μμ | 보λ¦λ¬ μ΄νμ λ©μΈ νμ΄μ§μμλ λꡬ μ€νΌμ»€μμ΄λλ₯Ό λ§μν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
주체 | λ°ν μμ | 1 |
---|---|---|
μ¬μ©μ | Entity | user_ID |
answer.predictBleed
주체 | λ°ν μμ | 1 | λμ μ 보λ₯Ό μλ €λ릴κ²μ. |
---|---|---|---|
NUGU | Entity | user_ID | - |
주체 | λ°ν μμ | κ·Έλ |
---|---|---|
μ¬μ©μ | Entity | YON |
주체 | λ°ν μμ | νμλμ λ€μ μ리λ | 2020-1-3 | μ μμν΄μ | 2020-1-9 | μ λλ μμ μ λλ€. |
---|---|---|---|---|---|---|
NUGU | Backend Parameter | - | predictStart | - | predictEnd | - |
* answer.NoPredictBleed : No previous cycle data exists, canno predict future cycle
주체 | λ°ν μμ | μ λ ₯λ μ£ΌκΈ°κ° μλ€μ. μ΄νμμ μ£ΌκΈ°λ₯Ό μ λ ₯ν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
* answer.wrongID4 : No id exists in the database
주체 | λ°ν μμ | μ‘΄μ¬νλ μμ΄λκ° μμ΄μ. 보λ¦λ¬ μ΄ν λ©μΈ νμ΄μ§μμ λꡬ μ€νΌμ»€ μμ΄λλ₯Ό νμΈν΄μ£ΌμΈμ. |
---|---|---|
NUGU | - | - |
* answer.WRONG4 : YON is not 'μ'
주체 | λ°ν μμ | 보λ¦λ¬μ μ’ λ£ν κ²μ. |
---|---|---|
NUGU | - | -] |
Β Β Β Β Backend proxy is server used when NUGU playbuilder external data to answer a question.
Β Β Β Accorind to the NUGU developers guide, version, resultCode, output are mandatory. We made responseController moudle in accordance with sample format.
const resSample = function () {
let resSample = {
version: "2.0",
resultCode: "OK",
output: {},
};
return resSample;
};
module.exports = { resSample };
Β Β Β Β To differentiate application backend and backend proxy, we did routing at teh proxyIndex file, and made functions at teh proxyControllers directory.
Β Β Β Each contoller makes function and returns in accordance with responseController format.
Thanks a lot for sharing!JOKER123