AI Zone Admin Forum Add your forum

NEWS: survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

Newbie requires jargon buster

Hi all, I am completely new to chatbots and need to have a good rummage around to improve general knowledge and get a good understanding of some of the jargon - ‘maps’, ‘pattern matching’ etc… Does anyone have any clear definitions of these? Also does anyone have any guidelines on best/worse practises for creating bots?

Much appreciated Rich


  [ # 1 ]

It just so happens I composed a AI jargon dictionary in layman’s terms. It’s not the most comprehensive, but I think you’ll get the gist smile. Not sure what sort of mapping you’re referring to though.
Pattern matching is the most common method used in chatbots, but I’ll leave that to others to explain.


  [ # 2 ]

Hiya, Rich, and welcome to! smile

Before I begin giving explanations for the things you’ve asked about, I was wondering if you could give us a brief outline of your past technical experience (e.g. programming, web design/development, etc.). This will give us a frame of reference, and could help to determine how exhaustive/technical the explanations should be. It’s preferable not to over or under simplify things, IMHO. smile


  [ # 3 ]

“mapping” is a general term that means the same thing as “function”, as in y = f(x). The word is usually reserved for functions whose input and output are not simple numbers. Like a function that “maps” a person to their favorite color.

Good luck getting a definition of “pattern”. In cognition, it might be: anything that can be identified, recognized as, or compared to another thing. In other words a noun. In computers, it might mean: any piece of data that that can be compared to another with a concept of “similar” but not equal. The act of comparison is called “matching”. When you do it to a bunch of things it is called “classification” and, arguably, the ability to learn and match patterns is the central task of AI.


  [ # 4 ]

Thanks Dave, previously to my current design manager role I have experience in designing and defining experiences for responsive/adaptive web and also for apps across android, iOS and windows. I’ve worked in css to design layouts, typographic treatment, mostly though hands on experience is in photoshop, illustrator and used to use flash for prototypes. More recently I use Axure to create wireframes and design specification documentation for dev teams, I’ve also used Axure to build working prototypes and POC for stakeholders. So as you can see my experience is not too technical and mainly focuses on the user experience, visual design deliverable whilst consulting with dev teams for feasibility of concepts and implementation. Hope this helps…


  [ # 5 ]

Thanks for all responses.


  [ # 6 ]
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 wink 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?


  [ # 7 ]

If I might add, Get a few of your favorite Books and skim through them paying particular attention to each character and their interaction(s) with other characters in the narrative(s) that unfold.

In line with Dave’s suggestion some notes might prove of use but you can learn quite a lot about the “social” interaction within the confines of the story / author’s representation / intention.


Best / Worse practices - Depends upon what type of bot you’re seeking to create, public, private (locally on your hard drive as opposed to a cloud hosted one), a cookie cut bot that some hosting sites stamp out by the hundreds, a bot that can retain what was discussed or can be taught, some that rely on other sets of rules / topics / patterns / knowledge bases, etc. Do you want a chatbot that can carry on a decent conversation or one that can access practically everything like Google or an Expert System (subject specific - auto mechanics, medicine, zodiac, etc.)?

Determine your intended audience and age group if applicable.

Programming languages or Bot engines like AIML, RiveScript, ChatScript, ElfScript, Pandorabots and many others are out there.

Language and speech recognition or typing only, then a response?

Yes, nice thing about standards…there are so many from which to choose. You’ll find a niche!

Didn’t mean to run on, just tossing some thoughts out there for you, in case you might have overlooked a few.

Good luck!


  [ # 8 ]

My two cents’ worth on best practices: try to make the bot customizable at runtime, while interacting with it. Online learning. I want to debug the bot, change the code, while talking to it ...


  login or register to react
‹‹ Hello again      Adding audio to Chatbot ››