Welcome to the second module of How to Build Chatbots.
In this module we’ll discuss one of the three components of a chatbot. Namely, intents.
Conceptually, this is how a chatbot works. The user enters some text, the chatbot thinks really hard, and then a response is issued to the user. Now, that’s very, very high level and doesn’t tell us much, of course. So let’s see more in detail how this works.
The chatbot will use three main components to determine how to interpret the user input and how to respond to it. Intents, the subject of this module, Entities, which we’ll cover in the next module, and finally the dialog which we’ll cover in module 4. When you create a chatbot in Watson Assistant, the first thing you do is create a Dialog Skill which will contain these three components. which will contain these three components.
Intents are the most important component because they try to determine what the user wants. What are they asking for? In other words, they capture the intent or goal of the user. For example, we could define a #greetings intent and train Watson with some examples of what a greeting looks like. We might provide Hello, Hey, Hi, Good morning, and for our friends from New Zealand, Kia Ora. It’s a good practice to provide at least 5 examples per intent in order to fully train Watson on the intent. But the more the merrier applies here.
Once Watson is trained on the intents we defined, it will look at the user input and try to determine if any of the intents match the user request. For example, if the user were to say ”Aloha”, Watson would recognize that it’s a greeting akin to the ones we trained it on. Note that Aloha was not one of the examples we gave it. This is where Watson’s Artificial Intelligence capabilities really kick in. We train it with some examples, and Watson will be able to recognize an intent in the user utterance even when the user phrases it very differently from the examples we provided. As mentioned in the previous module, in this course, we’ll create a simple chatbot for a fictitious chain of Flower Shops. So let’s consider for a moment a domain-specific intent, as opposed to simple chit chat intents. Users may want to find out about our hours of operation, so we could define a #hours_info intent. Note, however, that intents cannot have spaces. So we’ll simply use an underscore instead of a space. And here are some examples that we might provide to train Watson on the hours info intent. “What time are you open until?”, “What are your hours of operation?”, “Are you open on Saturdays?” and so on.
These are all realistic ways in which users might express the same request for hours of operation information. It’s important to train Watson with realistic examples, to the point that you’ll even want to leave in typos you might accidentally make as you type out the examples. After all, if you made that typo, your users might as well. Now when the user asks, “When is your Toronto store open?” Watson will recognize our #hours_info intent even though, again, this particular phrasing was not part of our examples. Watson was smart enough to figure out what the user wanted now that it understands what hours info represents. Intent examples can be entered manually in Watson Assistant but they can also be imported from CSV files. This simplifies collaboration. For instance, you could receive the examples from a colleague in your customer care team who doesn’t know anything about building chatbots.
To help you out, Watson Assistant also comes with a Content Catalog which provides collections of intents relevant to various industries, such as banking, insurance, and ecommerce. It’s not a premade chatbot by any means, but you can use it as a starting point to build upon. It’s worth noting that in this course we’ll build our chatbot in English, but several other languages are available as well. So if you wish to create a chatbot in Italian or Japanese, you’ll simply create a dialog skill in that language and then train Watson with relevant examples in the same language. That’s it for the theory around Intents. In the rest of the module, you’ll go through the labs that will guide you through the process of creating, importing, and testing intents.
채팅봇 제작 방법의 두 번째 모듈에 오신 것을 환영합니다.
이 모듈에서는 챗봇의 세 가지 구성 요소 중 하나에 대해 살펴보겠습니다. 즉, 의도적인 것이죠.
개념적으로, 이것이 채팅봇의 작동 방식입니다. 사용자가 텍스트를 입력하고, 챗봇이 매우 어렵게 생각한 다음 사용자에게 응답이 전송됩니다. 자, 이것은 매우 높은 수준이고 물론 우리에게 많은 것을 말해주지는 않습니다. 이제 어떻게 작동하는지 좀 더 자세히 살펴보겠습니다.
챗봇은 세 가지 주요 구성 요소를 사용하여 사용자 입력을 해석하는 방법과 이에 대응하는 방법을 결정합니다. 이 모듈의 주제인 엔터티(Etities)와 마지막으로 모듈 4에서 다룰 대화 상자입니다. 왓슨 길잡이에서 챗봇을 만들 때 가장 먼저 이 세 가지 구성 요소를 포함하는 대화 상자 스킬을 만듭니다. 이 세 가지 구성 요소를 포함합니다.
Intents 목적은 사용자가 무엇을 원하는지 결정하기 때문에 가장 중요한 구성 요소입니다. 그들은 무엇을 요구하고 있습니까? 즉, 사용자의 의도나 목표를 포착합니다. 예를 들어, 우리는 #Greetings 의도를 정의하고 인사말이 어떻게 생겼는지 몇 가지 예를 들어 왓슨을 훈련시킬 수 있습니다. 안녕하세요, 안녕, 안녕, 좋은 아침 그리고 뉴질랜드의 KIA Ora에서 온 친구들을 위해 제공할 수도 있습니다. 왓슨을 완전히 교육하기 위해 의도당 최소 5개의 예제를 제공하는 것이 좋습니다. 하지만 이곳이 더 잘 적용될수록 좋습니다.
Watson은 정의한 인텐트에 대해 교육을 받으면 사용자 입력을 살펴보고 해당 인텐트가 사용자 요청과 일치하는지 확인합니다. 예를 들어, 사용자가 "Aloha"라고 말하면, Watson은 우리가 훈련시킨 것과 유사한 인사말임을 인식할 것입니다. 알로하는 우리가 제시한 예들 중 하나가 아니라는 것을 유념하세요. 이것이 왓슨의 인공지능 능력이 정말 중요한 부분입니다. 우리는 몇 가지 예를 가지고 그것을 교육합니다. 그리고 Watson은 심지어 사용자들이 우리가 제공한 예와 매우 다르게 그것을 표현했을 때에도 그 의도를 인식할 수 있을 것입니다. 이전 모듈에서 언급한 바와 같이 이 과정에서는 플라워샵의 가상 체인을 위한 간단한 챗봇을 만들 것입니다. 자, 이제 간단한 대화 내용과는 달리 도메인별 의도를 생각해 보겠습니다. 사용자는 당사의 영업 시간을 알고 싶어할 수 있으므로 #hours_info 의도를 정의할 수 있습니다. 그러나 인텐트는 공백을 가질 수 없습니다. 공간 대신 밑줄을 사용하겠습니다. 그리고 여기 우리가 왓슨을 정보 제공 의도에 대해 훈련시키기 위해 제공할 수 있는 몇 가지 예가 있습니다. "몇 시까지 영업합니까?", "영업 시간은 몇 시입니까?", "토요일에 영업하십니까?" 등등.
이러한 모든 방법은 사용자가 몇 시간 동안 작업 정보에 대해 동일한 요청을 표시할 수 있는 현실적인 방법입니다. 예를 입력하면서 실수로 만들 수 있는 오자로 남기고 싶을 정도로 현실적인 예제로 왓슨을 훈련시키는 것이 중요합니다. 결국, 만약 당신이 그 오타를 만든다면, 당신의 사용자들도 그럴 것입니다. 이제 사용자가 "토론토 상점은 언제예요?"라고 물을 때 Watson은 다시 한 번 말씀드리지만, 이러한 특정 표현이 예시의 일부가 아님에도 불구하고 #hours_info 의도를 인식할 것입니다. 왓슨은 이제 정보가 나타내는 시간을 이해할 수 있기 때문에 사용자가 무엇을 원하는지 알 수 있을 만큼 충분히 똑똑했습니다. 의도된 예는 왓슨 길잡이에서 수동으로 입력할 수 있지만 CSV 파일에서 가져올 수도 있습니다. 이를 통해 협업이 간소화됩니다. 예를 들어, 고객 관리 팀의 동료로부터 채팅봇 구축에 대해 전혀 모르는 사례를 받을 수 있습니다.
또한 Watson Assistant는 은행, 보험 및 전자 상거래와 같은 다양한 산업과 관련된 정보를 제공하는 컨텐츠 카탈로그를 제공합니다. 어떤 방법으로든 미리 준비한 챗봇은 아니지만, 이를 기반으로 하는 출발점으로 사용할 수 있습니다. 이 과정에서는 영어로 채팅봇을 만들지만 다른 언어들도 사용할 수 있습니다. 따라서 이탈리아어나 일본어로 챗봇을 만들려면 해당 언어로 대화 스킬을 만든 다음 왓슨에게 동일한 언어로 된 관련 예제를 교육하면 됩니다. 이것이 목적들에 관한 이론입니다. 모듈의 나머지 부분에서는 렌트 생성, 가져오기 및 테스트 프로세스를 안내하는 랩을 살펴볼 것입니다.