Blog

  • Planning on Purchasing AI-Powered Chatbots? Ponder Over These First!

    In 2020, we saw the increased use of artificial intelligence and chatbots. Chatbots have changed the digital customer experience, made educational bodies and workplaces incorporate adaptive learning in online learning, and convinced businesses and consumers to embrace artificial intelligence and chatbots. If that pandemic has taught us one thing, it’s how crucial digital communication is.

    With reports from PSFK and Salesforce reporting that 74% and 69% of users prefer using chatbots for straightforward answers; and Business Insider announcing that 80% of businesses will use chatbots by the end of 2020, the purchase and operation of chatbots in 2021 will rise steadily.

    If you too are interested in investing in chatbots, here are some things to consider:

  • Security Threats and Security Testing for Chatbots

    This article is pointing out security threats and attack vectors of typical chatbot architectures — based on OWASP Top 10 and adversarial attacks.

    The well-known OWASP Top 10 is a list of top security threats for a web application. Most chatbots out there are available over a public web frontend, and as such all the OWASP security risks apply to those chatbot frontends as well. Out of these risks there are two especially important to defend against, as in contrary to the other risks, those two are nearly always a serious threat when talking about chatbots — XSS and SQL Injection.

    Recently another kind of security threat came up, specifically targeting NLP models — so-called “adversarial attacks”.

    Cross-Site Scripting – XSS

    A typical implementation of a chatbot frontend:

    • There is a chat window with an input box
    • Everything the user enters in the input box is mirrored in the chat window
    • Chatbot response is shown in the chat window

    The XSS vulnerability is in the second step — when entering text including malicious Javascript code, the XSS attack is fullfilled with the chatbot frontend running the injected code:

    <script>alert(document.cookie)</script>

    This vulnerability is easy to defend by validating and sanitizing user input, but even companies like IBM published vulnerable code on Github still available now or only fixed recently.

    Possible Chatbot Attack Vector

    For exploiting an XSS vulnerability the attacker has to trick the victim to send malicious input text.

    1. Attacker tricks the victim to click a hyperlink pointing to the chatbot frontend including some malicious code in the hyperlink
    2. The malicious code is injected into the website
    3. It reads the victims cookies and sends it to the attacker without the victim even noticing
    4. The attacker can use those cookies to get access to the victim’s account on the company website

    Trending Bot Articles:

    1. Case Study: Building Appointment Booking Chatbot

    2. IBM Watson Assistant provides better intent classification than other commercial products according to published study

    3. Testing Conversational AI

    4. How intelligent and automated conversational systems are driving B2C revenue and growth.

    SQL Injection — SQLI

    A typical implementation of a task-oriented chatbot backend:

    • User tells the chatbot some information item
    • The chatbot backend queries a data source for this information item
    • Based on the result a natural language response is generated and presented to the user

    With SQL Injection, the attacker may trick the chatbot backend to consider malicious content as part of the information item:

    my order number is "1234; DELETE FROM ORDERS"

    Developers typically trust their tokenizers and entity extractors to defend against injection attack.

    Possible Chatbot Attack Vector

    When the attacker has personal access to the chatbot frontend, an SQL injection is exploitable directly by the attacker (see example above), doing all kind of SQL (or no-SQL) queries .

    Adversarial Attack

    This is a new type of attack specifically targeting at classifiers — the NLP model backing a chatbot is basically a text classifier.

    An adversarial attack tries to identify blind spots in the classifier by applying tiny, in worst case invisible changes (noise) to the classifier input data. A famous example is to trick an image classifier to a wrong classification by adding some tiny noise not visible for the human eye.

    A more dangerous real-life attack is to trick an autonomous car to ignore a stop sign by adding some stickers to it.

    An adversarial example for a picture classifier. Adding a tiny amount of noise causes the model to classify this pig as an airliner. Image from this article.

    The same concept can by applied to voice apps — some background noise not noticed by human listeners could trigger IoT devices in the same room to unlock the front door or place online shop orders.

    When talking about text-based chatbots, the only difference is that it is not possible to totally hide added noise from the human eye, as noise in this case means changing single characters or whole words.

    There is an awesome article “What are adversarial examples in NLP?“ from the TextAttack makers available here.

    Possible Chatbot Attack Vector

    For voice-based chatbots one possible risk is to hand over control to the attacker based on manipulated audio streams, exploiting weaknesses in the speech recognition and classification engine.

    • The attacker tricks the victim to play a manipulated audio file from a malicious web site
    • In the background, the voice device is activated and commands embedded into the audio file are executed

    To be honest, it is hard to imagine a real-life security threat for text-based chatbots.

    • User Experience is an important success factor for a chatbot. An NLP model not robust enough to handle typical human typing habits with typographic errors, character swapping, emojis provides a bad user experience, even without any malicious attacker involved.
    • It could be possible to trick a banking chatbot to doing transactions with some hidden commands and at the same time deny that the transaction was wanted, based on the chatbot logs … (I know, not that plausible …)

    Security and Penetration Testing with Botium Box

    Botium Box includes several tools for improving the robustness of your chatbot and your NLP model against the attacks above.

    Penetration Testing with OWASP ZAP Zed Attack Proxy

    Botium Box provides a unique way of running continuous security tests based on the OWASP ZAP Zed Attack Proxy — read more in the Botium Wiki. It helps to identify security vulnerabilities in the infrastructure, such as SSL issues and outdated 3rd-party-components.

    E2E Test Sets for SQL Injection and XSS

    Botium Box includes test sets for running End-2-End-Security-Tests on device cloud and browser farms, based on OWASP recommendations:

    • Over 70 different XSS scenarios
    • More than 10 different SQL Injection scenarious
    • Exceptional cases like character encoding, emoji flooding and more

    Humanification Testing

    The Botium Humanification Layer checks your NLP model for robustness against adversarial attacks and common human typing behaviour:

    • simulating typing speed
    • common typographic errors based on keyboard layout
    • punctuation marks
    • and more …

    Read more in the Botium Wiki.

    Paraphrasing

    With the paraphraser it is possible increase test coverage with a single mouse click — read on here:

    Tutorial: Using Paraphrasing to Increase Conversational AI Test Coverage

    Load Testing

    With Botium Box Load Testing and Stress Testing you can simulate user load on your chatbot and see how it behaves under production load — read on in the Botium Wiki.

    Don’t forget to give us your 👏 !


    Security Threats and Security Testing for Chatbots was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.

  • Understanding the Importance of High-Quality Data to Build a Muti-Lingual Chatbot

    Multilingual chatbots are transforming the business world. Chatbots have come a long way since their early stages, where they’d provide simple one-word answers. A chatbot can now chat fluently in dozens of languages, allowing businesses to expand into a wider global marketplace.

    Having a global reach allows businesses to tap into previously unexplored marketplaces. 60% of Apple’s $88 billion revenue in Q1 2018 came from outside of the United States. Over half of Google’s $31 billion came from non-U.S. marketplaces.

    Related Post: How AI is Changing the Landscape of Customer Service

    Chatbots are playing an increasingly important part in today’s business world. 80% of business owners predict implementing some form of chatbot by the end of 2020. This means there’s a great need for multilingual chatbots for companies looking to tap into the global marketplace and employ conversational AI chatbots, simultaneously.

    A chatbot is only as good as its training data, though. Training data is the engine that drives the Machine Learning. If you’re interested in learning how to make a multilingual chatbot, we’re going to show you the importance of high-quality data in making that happen.

    The Importance of Training Data for Multilingual Chatbots

    Creating a conversational AI chatbot is notoriously difficult at the best of times. Creating an AI chatbot that can chat fluently in multiple languages is a Herculean feat. Multilingual AI chatbots also brings its own unique challenges.

    Contextual

    Context matters a great deal in language. Each language is essentially comprised of multiple different languages, depending on who you’re speaking to. Creating contextual conversational AI chatbots requires a high level of linguistic understanding.

    Creating contextual multilingual AI chatbots gets even trickier still. What is considered formal and polite in one culture is different in another. Creating training data for an AI chatbot requires understanding the grammatical rules, as well as the customs, of different languages.

    Trending Bot Articles:

    1. Case Study: Building Appointment Booking Chatbot

    2. IBM Watson Assistant provides better intent classification than other commercial products according to published study

    3. Testing Conversational AI

    4. How intelligent and automated conversational systems are driving B2C revenue and growth.

    Scalability

    Scalability is another common challenge in implementing AI chatbots. It’s one thing to essentially have a static back-end fuelling your AI. Creating an open-ended, evolving platform is a whole new level of challenge.

    That’s one of the beautiful things about pre-made training datasets. You can incorporate new training data into your Machine Learning model as the need arises.

    Accuracy

    Having clean, well-documented data for your chatbot can also prove challenging. If your training data includes errors, your chatbot might not perform as anticipated. Some common issues with accurate training data include punctuation errors, incorrect word choices, or unintelligible sentences.

    Diverse Data

    Having enough data to create a Machine Learning corpus is one of the most common problems encountered learning how to make a multilingual chatbot. It can require hundreds of thousands of items to train a chatbot. It can require even more to create a conversational AI that’s fluent in many languages.

    This is another benefit of working with a data provider. You’ll have access to training data from a wide variety of different scenarios, in a number of different languages.

    Localization

    Languages can vary wildly from region to region. To create a conversational AI chatbot that understands different regional dialects, you’ll need training data from each area you’re hoping to cover.

    Also Read: How To Improve Game Loading Speed in Mac?

    The Benefits of Having A Multilingual Chatbot

    A fully functional, conversational AI can be a dream come true for a business owner. Imagine having a dedicated, loyal employee on the clock 24 hours a day, 7 days a week. Now imagine that employee could speak every language on Earth.

    A multilingual chatbot is a major boon for customer and user experience, as well. Customers are given much more immediate attention, leaving them with a far more favourable opinion of your company.

    Multilingual AI chatbots are beneficial for your business, as well. Chatbots are able to store every interaction, making them an invaluable source of sales and marketing data. They can also help save you time, money, energy, and resources on everything from payroll to eliminating redundancy and human error.

    Closing Remark: Shaip Chatbot Training Data Services

    As we have seen, not every company is set up to create their own chatbot training datasets. You might not have access to enough data, for instance. Preparing that data requires a high level of linguistic comprehension, as well as the technical capacity to implement it.

    At Shaip, we have everything you need to power your conversational AI chatbot. We’ll help you gather the data you need, from any source imaginable, at any scale. Our data gathering services can extract data from conversation audio, clinical audio and transcripts, and even image and video.

    Once you have the data, we also have the tools you’ll need to prepare it for processing via annotation and data labeling.

    Even labeling and annotating data for a training dataset can be prohibitively complex. At Shaip, we can label your data for:

    • Named Entity Recognition (NER)
    • Semantic Annotation
    • Sentiment Analysis Intent Variation
    • Intent Classification
    • Intent Recognition

    Working with a training data service gives you all of the benefits of having a chatbot with none of the drawbacks. It frees you up to focus on building your product or business, while also ensuring that your multilingual chatbot will function flawlessly. It also opens up your business to the global marketplace, so your growth potential is virtually unlimited.

    Also Read: Different Types Of CRM Software To Boost Customer Relations

    Looking for AI Training Data?

    Conversational AI seemed like a pipe dream even 10 years ago. We’ve been experiencing an unprecedented technological explosion in the 21st Century, and it’s only going to keep accelerating.

    Now that you know how to make a multilingual chatbot, you’re going to need quality data. We offer an innovative AI platform that lets you gather and use data in all manner of innovative ways. Contact us today to find out how we can help you realize your vision!

    About the author:

    Headquartered in Louisville, Kentucky, Shaip is a fully managed data platform designed for companies looking to solve their most demanding AI challenges enabling smarter, faster and, better results. Shaip supports all aspects of AI training data from data collection, licensing, labeling, transcribing, and de-identifying by seamless scaling of our people, platform, & processes to develop AI/ML models. To learn more about how to make your data science team and leaders’ life easier, visit us at https://www.shaip.com.

    Don’t forget to give us your 👏 !


    Understanding the Importance of High-Quality Data to Build a Muti-Lingual Chatbot was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.

  • Chatbots for Customer Service

    KLoBot for customer service

    Chatbots, a game-changer for organizations!

    Millennials and social changes are necessitating enhanced Customer Service (CX)

    Customer service, while likened to back-office or desk jobs, has long been outsourced to third parties (call centres) for resolving customer queries. Over the years, outsourcing customer support services has hampered organizational flexibility, brand value, and privacy.

    With some automation, the digital revolution shifted businesses toward adopting Interactive Voice Response (IVR) technology for handling and prioritizing high volume of calls, simplifying customer service processes, and cutting overhead expenses. Although IVR allowed companies to automate their customer support and increase professionalism, the complex routing mechanism and inflexibility resulted in customers dissatisfaction towards an organization or a brand.

    In today’s highly connected and personalized world, customers demand instant resolution of grievances and high-quality customer service at anytime, anywhere. To meet these ever-growing expectations and be available on all familiar communication channels, many organizations are investing in AI-enabled chatbots, which can successfully handle and respond to customer queries 24/7.

    With the urgency to enhance CX industry, virtual assistants and chatbots are helping B2B and B2C companies to engage with customers at every step of customer lifecycle.

    In coming years, around 25% of customer support and service operations will integrate Virtual Customer Assistants (VCA). Integrating chatbots on a channel allows organizations to provide real human-like interactions using NLP, resulting in seamless and personalized user experience.

    Chatbots are gaining high traction and will continue to be a huge trend

    The existing skills of chatbots allow organizations to manage their transactional interactions; however, AI-enabled chatbots are shifting the value from transactional to transformational conversations, which are more intense, supportive, and insightful.

    Trending Bot Articles:

    1. Case Study: Building Appointment Booking Chatbot

    2. IBM Watson Assistant provides better intent classification than other commercial products according to published study

    3. Testing Conversational AI

    4. How intelligent and automated conversational systems are driving B2C revenue and growth.

    Chatbots are handling customer interactions quickly and far more efficiently reducing the workload of customer service agents, enabling them to focus on upselling or handling other complex issues. Organizations have reported nearly 70% reduction in inquires done via chat, email, or calls after implementing Virtual Customer Assistants.3

    Chatbots In, IVR Out

    IVR systems are typically known to be structured, rigid, and rule-based systems, which have limitations with understanding input phrases, while chatbots use NLP to understand phrases and immediately identify the user intent from a conversational perspective. The script-based and linear dialogue flow of IVR systems restrict customers to deviate from a scripted sequence and are not flexible to maintain the context of discussion. However, chatbots simulate human-like conversations through flexible and nonlinear dialogues offering enhanced customer services.

    IVR becomes frustrating when a customer calls asking for a straightforward or basic question and hears the IVR recording with pre-recorded menu options. IVR was designed with the primary goal of reducing the average handling time and shortening customer service calls; however, has failed with its intention. Chatbots, in contrast, have emerged as the solution for this problem using intelligence to reduce abandoned calls and provide more intuitive and smoother customer service call experience.

    In IVRs, users must listen and opt from a series of menu options before connecting with human agents, which turns out to be an infuriating annoyance and time-consuming process, affecting the overall customer experience. Chatbots can handle all the basic queries and in the face of complicated situations, can immediately transfer the call to human agents ensuring faster resolution.

    Chatbots gaining mainstream attention in customer-facing sectors

    Chatbots have now become a key element of an organization’s technology roadmap and hold the potential to bring value across various industries.

    From a legal industry perspective, chatbots built with voice and text capabilities provide drastic improvements in handling queries such as case status, court date, assigned lawyer, payment status, document search and many such operational tasks.

    Lawyers and their clients stand to benefit from the digital transformation, resulting in exceptional handling of queries as well as improved user experience.

    The advent and popularity of e-commerce companies have made everything available online to their customers, which led e-commerce companies to use chatbots as a sales channel. Chatbots are being used to sell products by sensing customer intent and via personalized product recommendations. Chatbots in e-commerce are more productive and cost-effective, which are driving clicks, customer acquisition, retention, and loyalty.

    Chatbots and human agents are working together in the e-commerce industry to deal with irate customers by sympathizing with them and offering actionable solutions. E-commerce chatbots have turned out to be the best way for augmenting the customer shopping experience as well as e-commerce backend systems.

    The banking industry is among the early adopters of most technological innovations, which have achieved commercial success. Chatbots in the banking industry have witnessed a lot of interest with several banks, adopting AI-enabled chatbots for conducting smarter conversations with consumers.

    Any bank queries handled by chatbots can save the human agents’ time resulting in significant operational cost savings. These chatbots are assisting customers with their basic transactions, which include balance information, credit card bills, budget planning tips, and other bill payments among others. These proactive insights offered by chatbots are enhancing the customer support process and have made banking chatbots a highly successful tool for effective communication.

    KLoBot allows banking and financial service organizations to deploy chatbots within hours on their preferred channels and enables to drive customer loyalty by delivering proactive alerts and right fit suggestions to their customers across all channels.

    AI-powered Chatbots with NLP capabilities are catering to the customer service requirements

    Human agents vs. Chatbots

    In a fast-paced business environment, addressing customer requests 24/7 across all touchpoints becomes increasingly difficult for a human agent. In such scenarios, customer service chatbots using AI and ML techniques are being adopted by organizations to answer multiple customers at once and achieve faster resolution of queries. These AI-enabled chatbots are leveraging the existing data in the form of FAQs and knowledge repositories for providing 24/7 instant responses to customers in text as well as voice mode.

    Hiring a sole human agent who can effectively hold the conversation, provide the best solution, and possess multi-linguistic skills is a rare occurrence, and imagining the complexities in hiring numerous such human agents is more than stressful. Taking the above-mentioned skills into considerations, chatbots remember the previous chat history, provide instant answers, and speak in multiple languages. Consequently, chatbots have minimized the complexity in managing several human agents as they are cost-effective and work faster than a human agent.

    For any business, managing the reputation of its brand is deemed paramount, which may get affected due to human agents. A human agent, with mood inconsistencies or stress issues, is prone to make errors via miscommunication or answering in an inappropriate tone. Unlike human agents, chatbots don’t have a good day or a bad day, which eliminates such issues resulting in more accurate and standard responses, with less to zero chances of errors. Chatbots can continuously learn and enhance the quality of support offered to the customer.

    Human agents and chatbots — A blended recipe for customer service success

    Although chatbots are known to be sophisticated tools, they cannot render human service agents obsolete; instead chatbots are making them more efficient in resolving critical customer issues. 30% of the customers consider that chatbots and virtual assistants will handle customer service issues with ease, and nearly 86% of the customers prefer interaction with human agents. The implementation of chatbots across various channels is now considered as the perfect solution for organizations to connect with their customers.

    KLoBot, a DIY chatbot builder platform, allows companies to harness the power of chatbots for connecting with their customers and managing customer relationships. KLoBot’ s solution is implemented with governance policies and offers customization based on the organizational needs to sustain in a competitive environment.

    When dealing with complex issues or with technologically challenged individuals, KLoBot’ s “live agent handoff” capabilities smoothly transition the conversations from bots to a human agent. Although chatbots are quick and smart, they lack relevant empathy. In such scenarios, the ability of KLoBot’ s chatbot to understand the underlying context and handoff to human agents goes an extra mile to boost customer services.

    In maintaining an emotional connect with a brand, chatbots can augment human expertise.

    Don’t forget to give us your 👏 !


    Chatbots for Customer Service was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.

  • natural language sdk

    I have been writing a natural language SDK. I am looking for people that wanted to try using it so I can get design feedback. You can try a demo here https://thinktelligence.com/demo try this input

    create a tank move it to building1

    There are more examples at the bottom of the page.

    Thanks

    Johnny

    submitted by /u/johnny_gooden
    [link] [comments]

  • CX/Contact Center Tips

    CX/Contact Center Tips

    Improving automation is one of the can’t- miss call center efficiency tips. Bots are ideal for guiding customers to serve themselves. They answer frequently asked questions, so your agents get more time to work on the complex issues. And no customer gets neglected or left waiting in the process.

    https://preview.redd.it/fmvycmeaaof61.png?width=1024&format=png&auto=webp&s=2c85e2268d73d8a0b1ceb8ccba1eaf59a577ab62

    submitted by /u/vesuvitas
    [link] [comments]

  • Conversational Calculator How to use Math in your Chatbot

    Why use math in a chatbot

    If you really want to go beyond simple chatbot functionalities like understanding simple questions, you might want to use math in your chatbot.

    When your AI bot understands math, various new possibilities arise, depending on your use case. Let me give you some examples:

    For chatbots in the hotels & hospitality industry, you could have a standard rate per night. Then you could ask the user how many nights they would like to stay and multiply that with the rate per night to inform them about the total costs.

    Restaurant chatbots could use math for determining the group size of a booking. If somebody says something like “I’d like to book 2 tables for 4 persons each”, the bot can understand that it will be about 8 persons in total.

    You could even use math for personal trainer fitness bots:

    Different types of math

    In this article, we will teach you how to implement 4 types of math in your chatbot:

    Different Types of Math Questions

    The first step is to create an intent that detects when somebody wants the chatbot to calculate something. Someone could ask a generic question, like “Do you understand math?” or “Can you calculate something for me?”.

    If that’s the case, you could simply let the bot ask for what it should calculate.

    Sometimes the user already gives some more specific information about the math question, like “What is 8 divided by 4?” or “8/4=?”.

    In that case, you can make your calculator chatbot already save that information, so it won’t have to ask again. This is better for the user experience since it reduces the amount of needed effort from the user.

    Trending Bot Articles:

    1. Case Study: Building Appointment Booking Chatbot

    2. IBM Watson Assistant provides better intent classification than other commercial products according to published study

    3. Testing Conversational AI

    4. How intelligent and automated conversational systems are driving B2C revenue and growth.

    Creating a Math Intent

    Now we discussed some ways people can let the bot know they want it to solve their math problem; it’s time to create an intent for it:

    You can see the intent is using 3 entities:

    • number_first
    • number_second
    • math

    The first and second numbers in the intent are separately captured because for dividing and subtracting, you’d need to know which number should be divided/subtracted from the other number. Both number-entities use the default system entity for numbers.

    The Math Entity

    The third entity (math) is a custom entity. It contains the 4 types of math we already discussed briefly, along with some synonyms for them:

    Requiring all Entities

    Now we have the entity and the intent in place, it’s about time to look at the actual flow.

    All 3 entities will need to have a value to enable the bot to solve the math question, so the first step is to set all of them to be required:

    This will add sections underneath the intent for when one of the entities isn’t known after matching the intent. Click on all of them and add a Text Reply that instructs to give it a value.

    Mathematical Conditions

    Since we have 4 types of math, we need to add 4 conditions that check which type the chatbot should use.

    The image below shows how to check with a condition if the math type is “Minus”. Do the same for “Multiply”, “Divide,” and “Plus” in the other conditions.

    Also, add a 5th Else condition without any rules, so we can give an error message when the bot wasn’t able to match any other condition due to some unforeseen problem we missed.

    String Templates

    Now it’s finally time to actually implement the math itself. This is easier than you might think! We will simply use String Templates.

    To calculate the value of the entity number_first minus the value of number_second, use the following String Template:

    {{number_first.first.match | minus: number_second.first.match}}

    If you change “minus” to the other math types, you get the following flow:

    Resetting parameters

    When we now test our flow twice, you can see the second time it doesn’t work correctly yet. The parameter number_first still contains the value from our first test.

    That’s because we haven’t reset the parameters before giving them new values. Simply solve this by resetting the values after each response, as shown in the image below.

    As you can see, the problem has now been solved!

    And that’s how you teach math to your chatbot!

    Learn More

    There are way more possibilities with String Templates, so have a look at our documentation if you want to learn more.

    You can also join our free Slack Support Channel. It’s a great place for getting inspired and asking questions about your chatbot project!

    Don’t forget to give us your 👏 !


    Conversational Calculator How to use Math in your Chatbot was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.