Month: June 2021

  • 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.


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

    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:

    {'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.


    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.


    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.


    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


    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.

  • Top 6 Use Cases of Chatbots in Healthcare

  • 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!

    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

    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.

  • Why You Should Invest in Real-time Consumer Communications

    Real-time communications have become one of the cornerstones of digital customer experience. Whether it is a pizza delivery or an amazon order, customers expect real-time updates on the status of their orders at all times. It is no longer a “competitive edge” or a “unique feature”, rather the basic minimum requirement to succeed in a demand-driven environment.

    While this trend is currently limited to hyper local delivery services, industry giants including Amazon, is expected to take it to the next level in the years to come. Increasing popularity of online shopping, powered by Shopify and similar platforms, will further accelerate this shift in customer service. Though the trend may only be gathering momentum now, it was established way back in 2017 that “Gen Z is more than twice as likely to drop a brand for poor features or responsiveness on social media, according to the survey.”

    COVID-19 may just have pushed us 10 years ahead in this direction. Challenges posed by the pandemic, especially in terms of supply chain management and mobility restrictions, have presented brands with an opportunity to create and maintain communication channels with customers like never before. The need for trust, transparency and real-time customer service is at an all time high and those who act first will come out on top.

    However, employing a call center for 24*7 customers is neither practical or profitable, especially for small- and medium- enterprises. This is where live chat bots come in. By leveraging natural language processing, chat bots can answer simple queries within seconds, enhancing customer relations and adding value to the brand experience.

    Here are five reasons why you should have one:

    1. Over 60 percent of millennials use chatbots.
    2. Given the choice, customers prefer chats or texts over calls.
    3. Chatbots provide quick response for urgent queries.
    4. They make online reservations and orders easier.
    5. Chatbots can provide deep insight into consumer behaviors and patterns.

    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?

    No matter what stage of growth you’re at, driving customer centricity across all aspects of business is critical for consumer-facing businesses. A live chat support system can help you improve and optimize your customer experience through actionable insights and data.

    Don’t forget to give us your 👏 !

    Why You Should Invest in Real-time Consumer Communications was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.

  • The Evolution of Customer Service: Conversational Automation is Your Key to Success

    The ways customers interact with businesses have drastically changed in previous years.

    From the early days of face-to-face interactions, phone calls and contact centres, the customer service experience has evolved exponentially.

    Shifts in consumer behaviour and advancements in technology are both catalysts for change.

    The traditional methods of customer service are expensive to maintain and no longer meet the demands of modern consumers.

    Leading businesses are now implementing more automated and cost effective solutions to provide superior customer service experiences. Only the organisations that are willing to adapt to changes in business-consumer dynamics will meet customer expectations and thrive.

    We look at the way customer service has evolved and what businesses must do to succeed.

    Augment Humans with Digital Employees: Using AI to improve CX, reduce costs, and maximise revenue. Click here to download the report.

    Customer Service in the Past — Is This Still You?

    The words “customer service” will provoke some rather underwhelming memories for most.

    From waiting in queues in physical stores, only for them to shut as they approached the front-desk; to spending hours on hold, repeatedly hearing some rendition of “your call is important to us, please hold”; or speaking to countless customer service reps in the hope that one of them would be sufficiently trained to solve their query.

    It wasn’t quality, it wasn’t enjoyable, it was anything but ‘service’.

    If you needed assistance, often the only way of contacting a business was to visit a physical store. Businesses were only open on set days for a limited time. If you couldn’t make it to the store during that window, your enquiry went unresolved. It was one-dimensional and change was needed.

    “You are in a priority queue”
    Call centres would often place callers in an imaginary ‘priority queue’. The long wait times didn’t make customers feel like much of a priority though.

    Then call centres emerged — the first evolution in remote-based customer service. Customers could simply pick up the phone and dial in. The trouble — everyone started doing it. Customers could spend half their day on hold, often hanging up without their issue solved. Sound familiar? So much for the priority queue.

    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?

    Soon enough, along came email, courtesy of the internet boom. Customers had more choice than ever before. Rather than wait for someone to answer their call, customers messaged the business directly at a time that suited them. Progress! The downside — similarly with call centres, businesses continued to respond to customers when it suited them. The more channels that relied on a human response, the longer customer wait and resolution times grew.

    Customers weren’t the only ones fighting this battle. With more enquiries coming through multiple channels, businesses struggled to manage exploding volumes and only manual processes to lean on. Their solution — they’d hire customer service rep after customer service rep, filling contact centres to the brim.

    Customer service occurred when it was convenient for the business — and many organisations still adopt this philosophy today.

    They still have all the control. They respond when time suits them, regardless of how important or urgent the enquiry is to the consumer. These businesses are still facing the same challenges as before — enquiry volumes are through the roof, and resolution times remain dangerously high. This leads to a high cost-to-serve, dissatisfied customers, and customer loyalty that’s burnt beyond repair.

    The Promised Land of Customer Service

    In today’s highly connected and personalised world, customers want to engage with businesses on their terms — when and where it suits them. They want their issues solved immediately, with as little effort as possible.

    To meet these ever-growing expectations, businesses are investing in automated customer service to handle customer queries 24/7 and reduce their cost to serve.

    The importance of immediate customer service through an ‘always on’ model is highlighted by increasing demand for self-service. 70% of customers expect a company’s website to include a self-service application. Customers’ enquiries don’t only occur between Monday to Friday, nor do they only occur between 9am to 5pm. Finding a solution shouldn’t be restrained by a business’s traditional operating hours.

    No longer is a fast turnaround a value-add for business, it’s a customer expectation. If customers fail to get a response in the first few minutes they are likely to move onto a competitor. This poses business risk for both customer acquisition and retention.

    Some businesses have pivoted to knowledge bases and FAQ pages in an attempt to provide self-service options and deflect customer enquiries from their contact centres.

    The challenge with this — the way customers consume information has also changed.

    Just like they’ve moved on from waiting in queues or on-hold, customers no longer want to search through paragraphs of text to find answers. Attention spans are short and consumers demand more engaging experiences.

    The introduction of messaging and conversational automation via Digital Employees (also known as AI chatbots) mean there are more cost effective and scalable ways for businesses to engage and serve their customers to the standards they demand.

    Digital Employees handle customer interactions quickly and far more efficiently than traditional means. By automating conversations at scale they streamline customer service processes, easily solving high volume repetitive enquiries that take up so much of a human reps time.

    The reduced workload on customer service agents enables them to focus on upselling and handling more complex issues, adding more value to your business and improving operational efficiency. Not to mention delivering a superior customer experience.

    Digital engagement continues to rise and businesses must scale their customer service operations. Adding more agents is an expensive and short-term option. Using automation to deflect enquiries controls cost as the business scales, providing an engaging experience that is at the forefront of modern consumer behaviour.

    Studies show that real-time interactions via conversational automation improve customer engagement rates by 50% and increase sales by 67%. The popularity of e-commerce has made everything available online to customers, leading to many businesses adopting Digital Employee chatbots as a new sales channel in combination with a customer service offering.

    By sensing customer intent and offering personalised product recommendations, Digital Employees provide automated, guided selling experiences that bring in additional revenue with unrivaled ROI.

    It’s important to note that the current approach to customer service via automated channels, is not replacing human interaction. It’s augmenting humans with Digital Employees to create superior integrated experiences for both customers and businesses.

    While Digital Employees provide the first line of support, if they are unable to provide a solution, they can prompt a human agent to step in. A seamless handover, in real-time, with the exact context of the conversation is shared, allowing human reps to continue exactly where the Digital Employee left off. This provides an interactive, friendly, and highly responsive experience, far beyond the traditional bouncing around between agents in contact centres.

    The modern approach to customer service through conversational automation and its benefits are easy to see:

    • Faster responses
    • Reduced wait and resolution times
    • Cheaper cost-to-serve
    • Improved customer satisfaction and loyalty
    • Automation for scale
    • Human when it counts

    This all leads to more efficient business processes, greater customer experiences and a resulting increase in revenue for the business.

    Failure to Evolve Risks Your Business

    Businesses that choose not to optimise their customer experience now will struggle to provide the level of service that modern consumers demand.

    A millimetre today is a metre tomorrow. The longer the delay, the further away you’ll be from where your customers want you to be.

    Consumers instinctively gravitate to brands that exceed their needs and expectations. Frustrations with businesses that neglect these will catapult technologically savvy brands forward even further.

    Much of this technology is over it’s hype and innovation stages. It has become more reliable thanks to advancements in AI and machine learning; just as messaging has become a normalised and mainstream form of communication — thanks to Facebook Messenger, WhatsApp, WeChat and various others. Just take a look at the numbers — more than 75% of people prefer texting over making phone calls. Companies that delay or fail to push forward customer service automation with always on, real-time conversations will struggle with growth.

    Digital Employees also capture a wealth of customer and trend data. These insights are a treasure trove to marketing and sales teams. Smart businesses use this data to see what topics are trending and where friction points occur to understand and connect with their customers more intimately. All this data and information fuels the creation of customised marketing efforts to provide highly relevant, and more personalised customer experiences.

    The progression of consumer behaviour, combined with advancements in technology paves a clear road ahead for even higher expectations in the future. Prioritising to stay ahead of the curve in customer service will make all the difference for the future of your business.

    If you’re looking at where to from here, make sure you engage an expert. We’re happy to share how we help leading brands automate customer service at scale to reduce costs, increase sales and boost profitability. Start a conversation with us here.

    Don’t forget to give us your 👏 !

    The Evolution of Customer Service: Conversational Automation is Your Key to Success was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.

  • 20 [M4A]. Making a Snapchat group for everyone

    No Solo Guys tho. Solo guy need a female to come inside. Add me on snap: A.64448

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

  • Chatbot positioning

    How can I change my PowerApps chatbot’s position on WordPress theme editor? I’d like it to be on the bottom right corner and to be locked in place as sort of a navigation bar. I am still new and don’t really know how to. Thanks!

    submitted by /u/Wonderful-Abrocoma12
    [link] [comments]