엔티티와 파라미터의 개념을 이해할 수 있습니다.
Edit

엔티티 만들기

화면 위치 : [챗봇 변경 / 생성하기] > [엔티티 설정]

엔티티(Entity)란, 사용자의 말에서 중요하게 알아들어야 하는 정보들의 묶음 단위입니다. 예를 들어, 피자 가게의 피자 메뉴로 페퍼로니, 쉬림프, 치즈 피자가 있다면 “피자메뉴”라는 엔티티에 “페퍼로니”, “쉬림프”, “치즈”라는 대표어를 정의할 수 있습니다. 이렇게 “피자메뉴” 엔티티를 정의하고 나면 사용자가 “페퍼로니”를 언급했을 때 챗봇은 “피자메뉴”를 말하고 있다고 인식하게 됩니다. 의도별로 인식할 예문을 입력할 때, “피자메뉴”에 해당하는 키워드를 포함 시킨 예문을 하나 하나 입력할 필요가 없어지는 것이죠. 또한 대화흐름상의 분기처리를 하거나 외부 시스템과 연동할때 활용할 수 있는 파라미터로 이용할 수도 있습니다.

엔티티 생성

1) 엔티티 설정에서 “엔티티 생성” 버튼을 클릭합니다.

2) 상단의 엔티티명 입력란에 “피자메뉴”과 같이 엔티티명을 적어주세요. 하위에 정의할 키워드들의 그룹명이라고 볼 수 있습니다.

3) ”페퍼로니”, “쉬림프”, “치즈” 등과 같이 각각의 피자 메뉴명을 추출 항목에 넣어주세요. 추출 항목은 각 키워드의 대표어입니다. 우측의 레퍼런스에는 추출 항목과 동일한 의미를 가지는 단어들을 입력합니다. 사용자가 레퍼런스에 정의된 단어를 입력하더라도 추출 항목와 동일한 의미로 인식할 수 있습니다. 레퍼런스는 1개 이상 등록되어야 합니다.

엔티티 상세 화면

4) 추출 항목과 레퍼런스를 모두 입력하면 좌측 하단의 ”변경내용 저장” 버튼을 클릭하여 데이터를 저장합니다.

대화의도 예문에 엔티티 설정하기

엔티티를 만들었으니, 엔티티를 인식할 수 있도록 대화의도 예문에 등록해보겠습니다.

1) 이전 튜토리얼에서 만들었던 “피자주문하기”* 대화의도 상세 페이지로 이동해 주세요.

2) “페퍼로니”“피자메뉴” 엔티티의 추출 항목 중 하나였죠. “페퍼로니 피자 주문해줘”라는 예문을 추가한 후 “페퍼로니”를 마우스로 드래그해주세요.

예문에 추가할 엔티티 선택

3) “페퍼로니” 글자를 드래그하면 팝업으로 엔티티 리스트가 나타납니다. “피자메뉴” 엔티티를 선택하면 예문에 엔티티가 설정됩니다.

예문에 추가할 엔티티 선택

4) 좌측 하단의 “변경내용 저장” 버튼을 눌러 수정된 내용을 저장해주세요. 대화의도를 저장하면 엔티티를 지정했던 글자가 컬러로 표시되는 것을 확인할 수 있습니다. 이렇게 엔티티를 연결하면, “쉬림프 피자 주문해줘”, “치즈 피자 주문해줘”와 같이 메뉴 별로 하나하나 예문으로 등록하지 않아도 동일하게 동작하게 됩니다.

파라미터(파라미터) 활용

예문에 엔티티를 연결하면 동시에 같은 이름의 파라미터가 생성된 것을 확인할 수 있습니다.

파라미터란 사용자가 입력한 엔티티 값을 담아내는 박스 입니다. 사용자가 “페퍼로니 피자 주문해줘”라고 입력하면 “페퍼로니”라는 엔티티 값이 “피자메뉴”라는 박스, 다시말해 파라미터에 담겨지게 됩니다. 이후에 “피자메뉴” 파라미터를 호출하면 “페퍼로니”라는 값이 조회되게 됩니다. 이렇게 파라미터에 필요한 정보를 담아 놓고 대화흐름에서 파라미터를 이용하여 조건에 따른 분기처리에 활용하거나 시스템연동시 전달값으로 활용할 수 있습니다.

파라미터를 이용하여 메시지 만들기

엔티티와 파라미터를 이용하여 대화흐름을 만들어보겠습니다.

1) “피자주문” 대화의도 상세페이지에서 연결된 대화흐름으로 Step2에서 이미 만들었던 “피자주문하기” 대화흐름이 연결되어 있는 것을 확인할 수 있습니다. “연결된 대화흐름으로 이동”을 클릭하여 대화흐름빌더 상세화면으로 이동해주세요.

2) Speak 노드를 클릭하여 상세 패널을 열어주세요.

3) “파라미터 추가” 버튼을 클릭하면 대화의도에서 설정했던 엔티티가 조회됩니다. “피자메뉴”를 클릭하여 파라미터를 추가해주세요.

4) 파라미터를 추가하면 메시지란에 ”#{피자메뉴}”가 입력된 것을 볼 수 있습니다. #{파라미터Name}은 파라미터를 지정하도록 약속된 특수기호입니다. 직접 타이핑해서 입력해도 됩니다.

5) ”#{피자메뉴} 피자를 주문할게요”와 같이 파라미터를 포함한 메시지를 작성하고 “✔반영확인” 버튼을 클릭한 후 변경내용 저장을 클릭하여 저장합니다.

6) “대화흐름 저장” 버튼을 클릭한 후 우측의 테스트 패널에서 “치즈 피자 주문해줘”를 입력해보세요. “치즈”라는 단어를 사용하여 예문이나 메시지를 정의한 적이 없지만, 피자메뉴 엔티티로 정의되어 있기 때문에 파라미터에 추출한 정보를 담아 메시지로 보여주는 것을 확인할 수 있습니다.

파라미터 테스트

다음 Step에서는

“페퍼로니 피자 주문해줘”와 같이 피자메뉴를 정확히 입력한 경우에 대하여 대화흐름을 만들어보았습니다. 실제 피자를 주문할 때 구매자가 “피자 주문해줘”라고만 입력한다면 어떤 피자인지 메뉴를 알지 못해 주문을 해줄 수가 없습니다. 사용자가 입력한 말에서 필요한 정보를 모두 입력받지 못한 경우 다시 질문하여 답을 얻을 수 있는 Slot 노드에 대하여 알아보겠습니다.


함께해요! 챗봇시대 :)

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


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

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

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

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

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