티스토리 뷰



현재 우리의 일상 생활 속에 가장 가까이 다가와 있는 인공지능(AI) 관련 기술 중 대표적인 것이 바로 Chatbot’입니다! 다양한 서비스에 활용되어 접할 기회가 많죠! AIBRIL에도 Chatbot’과 관련된 Conversation API가 있습니다. 이를 이용하면 아주 쉽게 Chatbot’을 개발 할 수 있어요. 지금부터 Conversation API 이용하여 간단하고 쉽게 Chatbot’ 개발 과정을 코딩에 대한 사전 지식이 없어도 해볼 수 있도록 설명해드리겠습니다. 

물론, 고도화된 서비스 개발을 위해서는 코딩을 통한 개발이 필요하지만 기본적인 ChatbotSaaS상에서 제공되는 API로 충분히 개발할 수 있으니 한번 이용해보세요. 먼저, Dialog를 구성할 IntentsEntity 이해하고 만들어볼까요? 이해하기 쉽게 과일 가게라는 상황을 설정한 한 후 시작해보겠습니다.



1. Intents 이해하기.

Intents 사전적인 의미로 의도라고 합니다. 여기서 Intents는 어떤 의도를 전달하려고 하는가? 라는 질문에 대한 답일 수 있습니다. 예로 들면, 누군가 밥 먹고 싶다는 말을 했을 경우, 이 말의 의도는 ‘정말 무엇인가 먹고 싶은데 그 것이 밥인 경우’ 가 있을 것이고, 또 다른 의도로 ‘배가 고파서 뭔가가 먹고 싶다’ 는 것일 수도 있으며, ‘밥이 될 수 있는 다른 음식을 먹고 싶은 것’ 일 수 있습니다. 또 다르게 ‘함께 시간을 보내고 싶다’ 는 의도로 말한 것일 수 있습니다. 여러 가지의 의도를 세세하게 다 구분 할 수는 없겠지만, 어떤 목적의 어떤 도메인 인지에 따라 어느 정도 구분은 가능 할 것 입니다. 


조금 이해가 되셨나요? 그럼, Intents를 만들어 보겠습니다!



위 그림과 같이 ‘#감사하다’ ‘#먹다’ ‘#아니’ ‘#맞다’ ‘#인사하다’ Intents5개의 만들었습니다.  ‘#먹다라는 Intents를 보면 하위에 해당 Intents 관련된 예시 문장을 입력하게 되어 있습니다.  ‘먹다’ 라는 것의 의미와 의도는 다양하지만 먼저 아래 그림과 같이 몇 개의 문장만 등록해보았습니다. 



5개 이상의 문장을 입력해 주어야 기본적인 Intents 파악이 가능하고, 띄어쓰기도 다양하게 넣어 주는 것이 좋습니다. 오늘 설명한 예시 같은 경우에는 간단한 Intents 몇 개를 가지고 대화를 구성하기 때문에 문제가 없지만, Intents 내의 예시가 겹치거나 구분이 모호해지는 경우가 있으니 주의해야합니다. 




2. Entity 이해하기

Entity는 헷갈리고 어려운 개념 일 수 있습니다. 제가 실제 경험해 보니 동사를 제외한 형용사, 부사, 명사들은 이 Entity라고 정의 할 수 있 도 있습니다. 예로 들어, ’과일 이라는 Entity의 경우 사과, 딸기, , 귤 등 구체적인 실체가 있는 Value를 가지며, ’과일’ 의 Value들은 각각의 Synonym이 있을  수 있습니다. 또한과일은 이론적 개념일 뿐 실체를 가지지 않기 때문에 ‘개념’ 혹은 ‘정의’ 도 Entity의 범주 안에 들어갈 수 있습니다. 



위의 그림과 같이 간단하게 과일들의 Synonym을 입력해보았습니다. 복숭아는 ‘복숭’ 또는 ‘피치’, 귤 같은 경우 ‘밀감’ 이라는 Synonym을 갖고있습니다. 하지만 반대로 Entity가 단순히 실체들이 모인 개념들을 나타낸다고 설명하기에는 애매한 부분이 있어 반대의 예를 하나 더 들어보겠습니다.



사과의 특징, 모양, 맛 등 사과하면 떠오르는 머릿 속 이미지들을 정의해 보았습니다. 이와 같이 Value들이 모여서 실체를 이루는 경우도 존재하며, 이도 Entity라고 이해 할 수 있습니다 

지금까지 다이얼로그를 구성할 Intents와 Entity에 대해 설명했습니다. 간단하죠? 다음 편에서는 Intents와 Entity로 대화를 구성하는 방법에 대해 더 간단하고 쉽게 설명해보겠습니다!