← 돌아가기

16.노드결정


다음은 내가 만든 스토리의 노드를 결정하는 방법, 즉

  • 노드조건문
  • 노드실행

사용자가 입력값을 넣었을 때  Mindmap.ai 에서 어떻게 해석하고, 실행 노드를 어떻게 결정해서 대답하는지에 대해 알아보도록 하겠습니다.

[TIP]  챗봇 최초 시작시에는 .start 노드실행, 맞는 의도가 하나도 없을때에는 .else 노드 실행

1 . 노드조건문


  • #INTENT, @ENTITY, $visit_counter, and, or, not, (, ) 등을 사용합니다.
  • 각 노드를 if 조건문으로 대입하여 참 또는 거짓을 결정합니다.
 
챗봇 대화 처음 시작 시 루트노드부터 실행됩니다. 
의도가 맞는 노드를 찾아 첫번째 자식노드부터 아래로 내려가면서 참인 노드를 실행합니다.
이때 맞는 노드를 구하기 위해서는 노드조건문이 필요합니다.
 
 
즉, 노드에 작성한
#INTENT, @ENTITY, $visit_counter, and, or, not, (, ) 등의 조합은 
해당 조합식이 참이면 --> 실행
                        거짓이면 --> 바로 아래 노드를 체크합니다.
 
이때 노드조건문은 python의 문법을 사용합니다.
예)1. not (#주문 and @메뉴:커피) or (#배달 and @역삼동)
     2. $visit_counter > 2
     3. .else
     4. true
 

2 . 노드실행


  • 처음에는 무조건 루트노드에서 시작하여 바로 아래의 자식노드 체크
  • 만약 reprompt 노드가 있으면 그 노드의 자식노드 체크

 

이때 노드 실행은 기본적으로 상기 1.노드조건문 이 참이어야 합니다.