대화에서 추출한 정보나, 설정된 값을 가지고 대화 흐름을 진행합니다.
Edit
화면 위치 : 챗봇 만들기 > 챗봇 제작 > 주요 대화 > 대화 흐름

파라미터(Parameter)란?

파라미터란 한국어로 번역하면 매개변수라고 불리는데요. 고정적인 정보가 아닌 상황에 따라 달라지는 정보를 처리하기 위한 정보를 말합니다.

파라미터를 사용하는 경우 2가지

  • 사용자로 부터 입력을 받아 시스템에 전달하거나 분기되는 경우
  • 시스템으로 고정적인 정보가 아닌 변화하는 값을 받아서 챗봇이 답을 하거나 분기되는 경우

하나씩 살펴보도록 하겠습니다.

사용자로 부터 입력받아 시스템에 전달 또는 분기

사용자가 챗봇에게 질문하거나 명령을 할 때 ‘대화 의도’로 분류를 합니다. 이때 ‘대화 의도’ 속에 파라미터를 사용자와의 대화에서 뽑아낼 수 있어요. 예를 들어 ‘불고기 피자 주문할래요’ 라고 말했다면, ‘피자주문’은 의도이고 ‘불고기 피자’는 ‘피자종류’라는 엔티티의 파라미터 값이됩니다. ‘오늘 날씨 어때?’ 에서 ‘오늘’은 ‘날짜’라는 엔티티의 파라미터이고 ‘3시에 만나자’ 에서 ‘3시’도 ‘시각’이라는 엔티티의 파라미터입니다. 같은 의도라도 파라미터가 무엇이냐에 따라 달라질 수 있습니다. 파라미터가 ‘불고기 피자’인 경우엔 ‘네~ 주문되었습니다.’ 라고 답변하지만, ‘하와이안 피자’라고 했을 땐 ‘품절’이라고 답해야할 수도 있겠죠? 이와같이 파라미터의 정보에 따라 주문 처리를 하거나 주문실패에 대한 답변을 하도록 분기처리를 하기도 합니다.

시스템으로 변화하는 값을 받아 챗봇이 답하거나 분기하는 경우

쇼핑몰 챗봇에게 ‘홍길동’이라는 사용자가 ‘장바구니 보여줘’ 했을 때 챗봇은 ‘홍길동’ 회원의 장바구니를 보여줘야 합니다. 그런데 만약 ‘성춘향’의 장바구니를 보여준다면 낭패겠죠? 홍길동 사용자는 ‘나 홍길동인데~’라고 하지 않아도 챗봇은 ‘홍길동’이라는 사실을 알고 있어야 합니다. 이렇게 파라미터는 사용자가 입력하는 경우도 있지만, 시스템이 스스로 파악해서 가지고 있는 경우도 있습니다.

파라미터 사용시 생각할 점

  1. 파라미터에는 파라미터명엔티티가 반드시 설정되어야합니다. 파라미터명은 변수 명, 엔티티는 변수 타입과 같은 종류로 볼 수 있습니다.
  2. 파라미터가 필요없는 대화도 있습니다. ‘안녕?’ 과 같은 단순한 반응을 요구하는 대화의도에서는 파라미터가 불필요합니다. 따라서 파라미터가 필요하지 않은 경우 단답형으로 처리되며, 대화흐름으로 콘텐츠 구조를 복잡하게 하기 보다는 간단히 간편답변형태로 처리하는 것이 좋습니다.
  3. 대화 의도 분석시 파라미터 추출이 안된 경우에 SLOT노드를 이용해서 사용자에게 파라미터 정보를 요구할 수 있습니다. ‘3시에 만나자’라고 한번에 이야기 할 수 있지만, 그냥 ‘만나자’라고 할 수도 있겠죠? 그렇게 되면 챗봇은 몇시에 만나는지에 해당하는 파라미터를 ‘몇시에 만날까요?’ 하고 물어볼 수 있습니다. 이것이 SLOT노드 입니다.
  4. 파라미터의 기본값을 설정할 수 있습니다. default 값은 아무런 정보가 들어오지 않았을 때 파라미터에 담겨있는 값입니다. 해당 값은 엔티티에 담겨 있는 값들과는 상관 없이 설정이 가능합니다.

파라미터의 종류

파라미터의 종류는 크게 두가지로 나눌 수 있습니다.

  • 대화 흐름 / 이벤트 파라미터
  • 세션 파라미터

하나 씩 살펴보겠습니다.

대화 흐름 파라미터 / 이벤트 파라미터

대화 흐름 파라미터이벤트 파라미터는 대화 흐름 시작부터 값이 생성되어 대화 흐름이 끝날 때까지만 값을 유지하는 파라미터입니다. 대화 흐름내에서만 필요한 정보를 담아놓고 사용할 때 이용하는 파라미터입니다.

대화 흐름 파라미터

대화 흐름 파라미터의 경우 대화 의도와 연결되어 있는 파라미터이며, 의도 추론률에 영향을 줍니다. 따라서 대화 흐름 파라미터의 경우 수정은 대화 의도화면에서 직접 하도록 되어있습니다.

이벤트 파라미터

이벤트 파라미터의 경우 코드를 통해 호출되는 대화 흐름에서 사용되는 파라미터로 생성과 삭제가 자유롭습니다.

세션 파라미터

세션 파라미터 작동 모습

세션 파라미터는 대화 흐름 완료 여부와 상관없이 사용자 세션동안 값을 계속해서 저장하고 있는 파라미터입니다. 사용자 세션의 길이는 채널별로 상이하며 채널별 정책을 확인하신 후에 대화 흐름를 계획하시는 것을 추천드립니다. 세션 파라미터는 매일 새벽 3시에 일괄적으로 초기화됩니다.


파라미터 생성

파라미터를 생성할 때는 다음과 같은 제약사항이 존재합니다.

  • 파라미터명에는 띄워쓰기를 허용하지 않는다.
  • 파라미터명에는 $와 _를 제외한 특수문를 허용하지 않는다.
  • 파라미터명은 유일해야 한다.
  • 최대 50자까지 허용한다.

파라미터 등록 방법으로는 크게 2가지가 있습니다.

대화의도에서 등록할 경우, 사용자가 입력할 것으로 예상되는 ‘예문’을 드래그하여 설정할 수 있습니다. 의도 관리에서 자세하게 설명하고 있으니 참고하세요.

파라미터 관리 패널

파라미터 관리 패널은 대화 흐름 상세페이지 왼쪽 하단에서 찾으실 수 있습니다. 파라미터는 챗봇 세션동안 유지되는 세션파라미터와, 대화 흐름 단위로 유지되는 의도/이벤트 파리미터로 이루어져 있습니다. 보통은 Slot노드에서 간단한 분기처리를 위한 파라미터를 만들거나 API노드를 활용할 때 사용될 파라미터를 빠르게 등록하는 용도로 사용됩니다. 여기서 등록한 파라미터는 나중에 대화의도에서도 사용할 수 있습니다. 대화 의도와 연결된 대화 흐름일 때는 의도 파라미터를, 함수를 통해 호출되는 이벤트플로우일 때에는 이벤트 파라미터를 생성/관리하게 됩니다.

파라미터 목록과 파라미터 생성팝업

대화 흐름/이벤트 파라미터를 생성할 때에는 각각 파라미터 성격에 맞는 엔티티를 설정하도록 되어있습니다. 엔티티에 대한 자세한 내용은 여기에서 확인하실 수 있습니다.

파라미터의 활용

등록된 파라미터는 Slot노드에서 질문 파라미터로 설정하기. Speak노드나 Slot노드, Carousel노드에서 파라미터 본문에 입력하는 용도로 사용하기, Split노드에서 분기하는 기준으로 활용하기 등 다양하게 사용될 수 있습니다. 파라미터의 보다 구체적인 활용법은 대화 흐름 설명 페이지에서 이어서 확인하실 수 있습니다.

특수 파라미터

단비Ai에서는 다음과 같은 특수한 파라미터를 제공하고 있습니다. 사용하고 계시는 요금제에 따라 사용이 제한될 수도 있습니다. (감성분석 기능은 제휴를 한 사용자를 대상으로만 서비스 됩니다.)

파라미터명 엔티티 기능
positive sys.any 감성 분석 결과 긍정도를 제공
negative sys.any 감성 분석 결과 부정도를 제공
neutral sys.any 감성 분석 결고 중립도를 제공

대화 의도에 위 파라미터들을 추가해두고 챗봇 추론설정 > 대화평가 > 감성분석을 하시면 해당 특수 파라미터를 사용할 수 있습니다. 해당 파라미터들을 통해 대화 흐름 속에서 사용자의 감성을 분석하여 긍정, 부정, 중립에 대한 정도를 수치로 제공받을 수 있습니다.


함께해요! 챗봇시대 :)

모든 사물, 디지털 매체와 말이 통하는 시대! 단비Ai와 함께 반드시 오게될 챗봇시대를 열어갔으면 좋겠습니다.


인공지능 챗봇빌더 단비Ai 시작하기

혹시 서비스 소개서를 찾고 있나요?

단비Ai 서비스 소개서는 아래 링크를 클릭해 다운로드 하실 수 있습니다.
서비스 소개서 다운로드

챗봇을 교육용도로 활용하고 싶으신가요?

단비Ai를 기반으로 만들어진 Ai교육, 에이아이런을 만나보세요 :)

Tags: nlu basic