Category: Chat

  • The Bleeding Edge of Voice

    This fall, a little-known event is starting to make waves. As COVID dominates the headlines, an event called “Voice Launch” is pulling…

  • Amazon Alexa Could be a Super Assistant but Not Yet

    A range of updates coming to Alexa was announced in Amazon’s Product Launch Event, 2020. Rohit Prasad, chief scientist of Alexa showed how…

  • What You Need to Know About Virtual Onboarding

    What You Need to Know About Virtual Onboarding

    So, you want to use artificial intelligence to do virtual onboarding for new employees, but where to begin?

    Not to worry, Noodle Factory has got you covered with this guide to virtual onboarding. Here, you’ll learn what virtual onboarding is, how it works, and why it’s important.

    Read on if you’re ready to learn!


  • Czech artificial intelligence will supervise the online exams

    Female student biting her pencil while working on notebook

    Ensuring fair, efficient, and reliable supervision of various online exams and tests. This is the main task of the new technology developed by the Czech companies Scio and Born Digital.

    The solution uses artificial intelligence to guarantee the correctness of exams and facilitates the work in the online environment for both examiners and examiners. The developed product called ScioLink is unique not only in the Czech but also in the global market.

    During the last and current school year, the Scio educational company had to provide the Czech National Comparative Examinations (NSZ), which replace or supplement the entrance examinations for dozens of universities in the Czech Republic and Slovakia, in an online version. The unplanned solution had to be developed in a short time because of the unfavorable development of the COVID-19 pandemic. Since then, Scio has successfully organized more than 78,000 online tests. Now the company plans to maintain the online appearance of the exams, newly using its own modern testing environment.

    A white table with a pc, notebook a pen, flower and a cup of tea
    The ScioLink will oversee what do students have around themselves. (source: unsplash.com)

    Detecting objects, people and voices in a real-time

    To develop the solution, Scio joined forces with the Czech technology startup Born Digital. And together, they created ScioLink. “Although we were able to conduct thousands of online trials at once before, we were still dependent on an environment that was not our own. With Born Digital, we are developing an online solution in a form that will suit us perfectly and will be of worldwide quality,” said NSZ project manager Martin Drnek.

    Trending Bot Articles:

    1. How Conversational AI can Automate Customer Service

    2. Automated vs Live Chats: What will the Future of Customer Service Look Like?

    3. Chatbots As Medical Assistants In COVID-19 Pandemic

    4. Chatbot Vs. Intelligent Virtual Assistant — What’s the difference & Why Care?

    Online testing will continue to include proctoring — remote surveillance using artificial intelligence. However, it will now be able to alert participants in real-time to potential breaches of the rules. The basis of the unique solution is the technology of detection of objects, people, and voices. Through the equipment of computers, ScioLink scans all the examinees, alerting them when it records any object or activity, which it evaluates as forbidden according to the assignment.

    “For example, when the camera captures an object resembling a mobile phone, it alerts the student and at the same time records the time when the object appeared in the shot. The human controller then only goes through all the similar controversial moments in the record and assesses whether the violation of the test rules has really occurred,” explains Drnek. According to him, the new technology will mean that, for example, participants who leave unauthorized objects in their vicinity by mistake will not have to be excluded from the exam. After the warning, they will be able to take them elsewhere.

    University classroom filled with people sitting on chairs
    Students will have a choice. Write test in the class or at home? (source: unsplash.com)

    The unique solution

    The great advantage of ScioLink technology is that it is a direct part of the online test. Proctoring is integrated into the test interface, which means lower demands on the technological equipment of the candidates. Another novelty is that the organizers can send a mass message to the participants directly during the exam, if necessary. “The technology can reliably monitor even the tests with thousands of participants at once. In such a case, it will save the examiners a large amount of time and work,” added Born Digital director Tomáš Malovec.

    The unique skills and experiences of the two Czech companies meet in a solution that can take the quality of online testing to the next level. The technology combines Scio’s many years of experience with the organization and conducting of tests and the detailed knowledge of artificial intelligence development offered by the Born Digital startup. The specific last year had shown what the biggest problems with online testing are. And it is in their solution that the new product excels. ScioLink will hit the market in the upcoming school year, being available to Czech and abroad universities, private companies, and government institutions.

    Lonely male student sitting in a classroom writing something
    Wouldn’t it be more comfortable from home? (source: unsplash.com)

    About Scio

    The Scio company, founded by a pedagogue and visionary Ondřej Šteffl, has been bringing innovations to Czech education for 25 years. In addition to the well-known General Study Prerequisites test, Scio also creates other various professional tests used by dozens of Czech and Slovak universities in the admission procedure. Scio also works on various educational projects for schools, parents, and children. Among other things, Scio is a partner of the platform for the prevention of bullying. Through the svetgramotnosti.cz portal, Scio has been helping schools develop reading and mathematical literacy for 10 years. The company also operates its network of so-called ScioSchools.

    About Born Digital

    The Czech startup Born Digital was founded in 2019. It focuses on the use of the latest artificial intelligence and machine learning technologies to digitize contact centers and automate human conversation on all available channels. The mission of Born Digital is to save its customers time and costs and increase their sales potential. In Central Europe, Born Digital solutions are used by major mobile operators, banks, insurance companies, or energy distributors. Thousands of people call Born Digital’s voice assistants every day, and so far they have handled more than 2.5 million calls with real customers.

    Don’t forget to give us your 👏 !


    Czech artificial intelligence will supervise the online exams was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.

  • Reshape your digital transformation strategy using Low-Code platforms

    In today’s digital-first business landscape, speed and agility are the keys to thrive in the market and outpace the competition. Still…

  • Using Word Embeddings with TensorFlow for Movie Review Text Classification.

    This article will show how to use TensorFlow Embedding Layers to implement a movie review text classification.

    Processing Text Data

    As we know, most machine learning algorithms cannot understand characters, words, or sentences. They can only take numbers as inputs. However, the nature of text data is unstructured and noisy, this characteristic makes it impossible to feed machine learning models directly with text data.

    There are many ways to convert text data into numerical features, and the process to follow will depend on the kind of feature engineering technique selected.

    One How Encoding

    One of the most popular techniques for feature engineering is One Hot Encoding, this technique converts characters or words into binary numbers as we can see below.

    With this technique, we will obtain a vector of size N (the size of the vocabulary) the vector is all zeros except for the ith entry, which is 1.

    Count Vectorizing

    The problem with One Hot Encoding is that all words will have the same importance not taking into account the number of occurrences of each word. The technique called Count Vectorization is similar to One Hot Encoding, but instead of checking if a particular word is present or not (0 or 1), it will consider the word count in a document.

    However, this technique has some issues as well, for instance, words that are more frequent like “The, at, which, an …” don’t give much information. On the other hand, words that provide more information tend to be less frequent or rare. This issue is usually addressed using a technique called term-frequency time inverse document-frequency, which transforms a count vector into a sparse vector, taking into account the issue mentioned before.

    Movie Review Text Classification Using scikit-learn

    Using word vectors.

    All the methods discussed depend on the frequency of the words, this approach can work in many scenarios, nevertheless, for complex tasks, it is necessary to capture the context of semantic relations, that is, how frequently the words are appearing close by. For example:

    1. I am eating an apple
    2. I am using apple

    Despite the word “apple” appearing in both sentences, it gives different meanings when it is used with different adjacent words (close by). So the idea behind word embedding is to represent the meaning, semantic relationships, and different contexts in which the words are used.

    Unlike vectors obtained through one-hot encoding or counting vectorization, word embeddings are learned from data this process turns out with a dense vector. Usually, these vectors are 256-dimensional, 512-dimensional or 1024 dimensional when we are dealing with large vocabularies. Contrarily with vectors obtained from one-hot encoding or counting vectors which are 20000 dimensional, or even greater (according to the vocabulary size) so word embedding provides more information in fewer dimensions.

    One advantage of word embedding is that we can create specific word embeddings for specific tasks. This aspect is important because the perfect word embedding space for an English-Language movie-review sentiment-analysis model might be far away from the perfect embedding space for an English-Language legal-document-classification model. After all, semantic relationships vary from task to task.

    Implementing Word Embeddings with TensorFlow.

    Fortunately, TensorFlow allows us to learn a new embedding space for every specific task. The process of learning a new embedding space consists of finding the weights of a layer called Embedding in Keras so according to the data and the labels we can create an embedding space that will provide more information about semantic relationships between the words in a document.

    To create an embedding layer, you can use the code shown next:

    >>>from tensorflow.keras.layers import Embedding
    >>>embedding_layer = Embedding(1000,64)

    The embedding layer receives at least two parameters, the number of possible tokens (in this example 1000) and the dimension of the embeddings (in the example 64). In other words, the Embedding Layer will receive a 2D tensor of integers, of shape (samples,sequence_length). All sequences must be the same length, otherwise, the sequence will be truncated or padded with zeros.

    This layer returns a 3D floating-point tensor of shape (samples, sequence_length, embedding_dimensionality). At the beginning the weights of the embedding layer will be random, just as with any other layer. However, during the training process, these weights are gradually adjusted through back-propagation, structuring the space into something the downstream model can use to make predictions.

    Trending Bot Articles:

    1. How Conversational AI can Automate Customer Service

    2. Automated vs Live Chats: What will the Future of Customer Service Look Like?

    3. Chatbots As Medical Assistants In COVID-19 Pandemic

    4. Chatbot Vs. Intelligent Virtual Assistant — What’s the difference & Why Care?

    Using word embeddings for sentiment analysis.

    Let’s apply the concepts explored here to build a model able to classify movie reviews.

    Data overview

    The dataset that will be used for binary sentiment classification contains more data than other benchmark datasets. Specifically, this dataset provides 25000 positive movie reviews and 25000 negative movie reviews. The dataset can be found on the Kaggle platform using the following link: IMDB dataset. Let’s take a look at how a movie review looks.

    'A wonderful little production. The filming technique is very unassuming- very old-time-BBC fashion and gives a comforting, and sometimes discomforting, sense of realism to the entire piece. The actors are extremely well chosen- Michael Sheen not only "has got all the polari" but he has all the voices down pat too! You can truly see the seamless editing guided by the references to Williams' diary entries, not only is it well worth the watching but it is a terrificly written and performed piece. A masterful production about one of the great master's of comedy and his life. The realism really comes home with the little things: the fantasy of the guard which, rather than use the traditional 'dream' techniques remains solid then disappears. It plays on our knowledge and our senses, particularly with the scenes concerning Orton and Halliwell and the sets (particularly of their flat with Halliwell's murals decorating every surface) are terribly well done.'

    The text shown above corresponds to a positive review, Python handles these reviews as strings of variable length. Let’s explore the methods that we might use to transform text data into numerical features, this is an important step since most machine learning models use numerical features during the training process. The data frame, which contains the text data, looks like this:

    We can see 4 columns, to train the model I will just use the clean_review and labels columns that contain the reviews and the labels for each one, 1 means a positive review while 0 a negative review.

    Tokenization

    TensorFlow provides a class called Tokenizer,this will obtain the minimum unit of information from the data or “tokens”.

    tf.keras.preprocessing.text.Tokenizer(
    num_words=None,
    filters='!"#$%&()*+,-./:;<=>?@[\]^_`{|}~tn',
    lower=True, split=' ', char_level=False, oov_token=None,
    document_count=0, **kwargs
    )

    The Tokenizer class receives at least one argument, which refers to the maximum number of words to keep based on word frequency. The class implements a filter to remove punctuation, tabs, and line breaks. Finally, by default, the tokens are at the word level.

    The tokenizer creates a dictionary that maps words to index, this dictionary looks like:

    >>>tokenizer.word_index
    {'the': 1,
    'and': 2,
    'a': 3,
    'of': 4,
    'to': 5,
    'is': 6,
    'in': 7,
    'it': 8,
    'i': 9,
    ...
    }

    After this process we need to convert each document into a sequence, we can do this by using the method texts_to_sequences, later we need to pad each sequence specifying the max length that would have every sequence so the original sequence will be truncated or padded with zeros depending on the specified max length.

    Since I defined the max length of the sequence as 100, I got a matrix of shape (50000,100), this is, 50000 reviews with a length of 100. Let’s see how these sequences look. To do this we can use the word index dictionary to map indexes to words.

    Splitting the data.

    Let’s create the training set to fit the model and a testing set to validate how the model performs. I will use 40000 reviews to train the model and the rest for validation purposes.

    Variables like training_samples and validation_samples were defined previously.

    Building the model.

    I will define a simple model to classify between positive and negative reviews. The model will start with an embedding layer since the output of this layer will be a 3D tensor. This layer needs to be flattened to feed a dense layer, due to this I will use a GlobalAveragePooling1D layer, which averages the vector to flatten the output. After that, the model will be formed by two dense layers. The model architecture is shown below.

    Model Architecture

    To accelerate the learning process, I will use callbacks to implement early stopping, which allows preventing overfitting. In addition, to improve the learning process, it is a good idea to use the ReduceLROnPlateau callback. This implementation will reduce the learning rate when the model performance has stopped.

    How to Use Callbacks with TensorFlow and Keras

    Model Performance.

    The model tends to overfit since the accuracy over the training data improves faster while the accuracy over the testing data seems to stagnate.

    Accuracy

    We can see the same behavior on the loss graphic, the loss over the training data decrease suddenly, while the loss over testing data increase so using the early stopping technique helps to get the best model and stop the training process.

    Loss

    The general accuracy of this model is 86.80 %, this is quite good for a basic implementation of embedding layers, so adjusting parameters to improve the model will help to obtain a better performance.

    Visualizing the embedding layer

    To visualize the embedding layer we need to extract the weights of the first layer. Using these weights, we can get the vector corresponding to every word in our vocabulary. This way, we can generate a file with the information necessary to generate the visualization via this website

    In the animation shown above we can see our embedding space. We can see how this space tends to be grouped into two opposite sides corresponding with the kind of problem we are dealing with. If you want to know more details about the code used to develop this project you can see it in my GitHub repository.

    Conclusions.

    Sentiment Analysis is a common task in Natural Language Processing. However, it is challenging owing to the complexity of human language. For instance, one movie review can start with compliments about the performance of the actors and finish with bad comments about the movie leading to a negative review. Another scenario is when people use sarcasm to form an opinion. Just imagine, many people don’t even understand sarcasm. So, it is fair enough to think that one machine will struggle to understand these aspects of human language.

    We have learned how to use TensorFlow to process text data and build machine learning models to handle problems that have text data as their inputs.

    I am passionate about data science and like to explain how these concepts can be used to solve problems in a simple way. If you have any questions or just want to connect, you can find me on Linkedin or email me at manuelgilsitio@gmail.com

    References

    Don’t forget to give us your 👏 !


    Using Word Embeddings with TensorFlow for Movie Review Text Classification. was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.

  • Customer Experience Survey on use of Chatbot on Social Media: Case Study of WHO chatbot on WhatsApp

    Please take a few minutes to fill this questionnaire. Anyone who’s used chatbot in the last six months can fill especially those who have used it on Whatsapp. This is part of my college research. If you have any feedback that is welcome too. Thank you!

    https://docs.google.com/forms/d/e/1FAIpQLSfQ7D6mR1eF1E6589ktdhQrkgqtUuRxzFkJFm8wfJEwA1twcg/viewform

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

  • Chatbot course suggestion

    Hi guys, I want to learn chatbots specialising in e commerce using manychat and dialogflow. Can somebody suggest me a good course with good reviews?

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

  • AI enabled chatbots to create stellar automated customer support experiences

    Chatbots are on the rise and here to help make lives of people and businesses easier. Especially in customer support, chatbots are often used to help answer customer inquiries. However, chatbots are not always as good as we hope them to be. Frustrating and rigid question/answer flows ruin the customer experience and are hurting your brand reputation. Setting up a chatbot can also become very expensive and time consuming.

    This article helps you to understand the different chatbot degrees for customer support and what pitfalls to be aware of when implementing a chatbot in your customer support.

    What chatbot degrees are there for customer support?

    When looking at chatbot and customer support automation, there are two axes you have to look at.

    The first axis is the degree of humanity in the conversation. On the far left you have chatbots that are very much decision tree driven with simple questions and answers. On the far right you have chatbots that understand human language by using Artificial Intelligence (AI) and Natural Language Processing (NLP) technology. These chatbots are intent driven.

    The second axis to look at is the degree of which personalization takes place. On the far left you have very general, FAQ based questions. On the far right you have personalized experiences like changing an order and cancelling a subscription.

    What pitfalls are there when implementing a chatbot in your customer support?

    Implementing a chatbot can be tricky, depending on the degree of personalization and the degree of humanity you want in your customer conversations. Here are the 3 biggest pitfalls when implementing automation in your customer support.

    Using a DIY chatbot builder

    The first pitfall is to use a DIY chatbot builder. Yes, it’s easy and quick, but you’re only building a simple chatbot that is not smart and not personalized

    This ruins your customer support experiences and hurts your brand name.

    Building a chatbot from scratch

    Beginning from scratch for a chatbot can create good, human-like and personalized customer support experiences, but is also very expensive. Unless you are a big company that can spend 100K a year on chatbots, this is a no-go for small businesses.

    Trending Bot Articles:

    1. How Conversational AI can Automate Customer Service

    2. Automated vs Live Chats: What will the Future of Customer Service Look Like?

    3. Chatbots As Medical Assistants In COVID-19 Pandemic

    4. Chatbot Vs. Intelligent Virtual Assistant — What’s the difference & Why Care?

    Training the NLP engine yourself

    To make human-like automation experiences with a chatbot, you have to train the NLP so it understands human language. This is a time consuming process where the NLP engine needs continuous corrections and learning.

    Here again the rule is that unless you’re a big company with dedicated Conversational AI experts, this is a no-go for small businesses.

    At Table Duck we create smart and personalized customer support experiences for small businesses without you having to train the NLP, build a chatbot from scratch or use a DIY chatbot builder that just isn’t creating that experience for you.

    We have predefined sets of intents with all the training data required to create a good experience. Our platform is an easy to use, non-time consuming way to automate your customer support.

    Looking for customer support automation software? Go check out tableduck.com

    Don’t forget to give us your 👏 !


    AI enabled chatbots to create stellar automated customer support experiences was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.