Richard Tucker - Jan 11, 2017:
Hope this helps…
Actually it helps a lot. Peter has already given a fairly good synopsis of the concept of mapping, as it relates to chatbots, so let me focus on pattern matching.
At it’s heart, pattern matching is much like a web search, in that a single input is broken down into it’s individual words, and then a search is made to find the most relevant match. For example, if a user types in “I have a dog”, the chatbot’s engine then performs a search against the bot’s entire database for responses that most closely match that input. This process often involves substitutions of one or more of the input words with one or more wildcards (say, for example, the character ‘*’), so in addition to looking for just an exact match (I HAVE A DOG - normalized here to all uppercase to aid in searching), it may also look for a mach to “I HAVE A *”, or “* DOG”. Each of these new search terms is a pattern, and the process of searching is called pattern matching.
Now of course this is a bit of an oversimplification, but I think it should get the point across.
As for the rest of your questions, let’s tackle one at a time, shall we?
Richard Tucker - Jan 10, 2017:
Also does anyone have any guidelines on best/worse practises for creating bots?
This one is rather subjective, I’m afraid, and much of the technical aspect of this greatly depends on the platform you choose to work with, but for the artistic side of it (and believe me when I say that for the most part the artistic side is the greater challenge), it’s best to consider that this is a full-on conversation between two or more individuals, as opposed to a scripted interview. So before you start creating a chatbot, take some time to have some in-depth and varied conversations with large numbers of people, covering a wide variety of subjects. Friends, family members, co-workers, members of your church and/or social community all make good participants. but don’t just have conversations with these people; pay attention to both sides of the conversation, taking either mental, or pen-and-paper, notes whenever possible. See how the conversation flows, note when humor is injected, and any other things that you might recognise as being potentially important. while watching other conversations that you’re not actively participating in (e.g. in a movie or TV show), envision how you would respond, were you in the place of each participant. After a while, you should begin to recognise patterns, and it’s these patterns that will help you to craft a decent chatbot - or not, really yeah, I know. this seems like a lot of work, and it is, but it’s also extremely rewarding when it all comes together.
Now, is there any more jargon, or bits of nomenclature, that you’re curious about?