Blog

  • Create a Chatbot using Rasa

    With more than 2 million downloads, Rasa is an increasingly relevant open-source framework for the creation of conversation assistants. A Rasa conversation assistant can be provided to users as a chatbot via Facebook Messenger or Slack. It is also possible to publish the assistant as Alexa Skill. Rasa offers both the possibility to implement an assistant without any programming knowledge and to adapt the functional range of the framework to the respective needs via implementing extensions in Python. This article gives an overview of how Rasa makes it possible to easily create assistants. For this purpose, we create a chatbot, which can answer simple questions about its creators. The project is available at https://github.com/Steadforce/rasa-basic-tutorial. An exemplary dialogue that we can conduct is shown here:

    Building a chatbot — Installation and set-up

    Before we can start creating the assistant, we need to install Rasa. This requires Python 3.6 or 3.7. After the installation we can directly initialize a new project with the Rasa-CLI. The parameter — no-prompt during initialization sets up the project in the current directory and trains an initial model as a test. If this is not desired, the parameter can be removed.

    pip install rasa 
    rasa init --no-prompt

    After successful initialization, a data structure is created as shown in the figure. In the following, we will discuss which data has to be created to create an assistant in Rasa.

    Creating dialogs

    First of all, we start by creating so-called stories. Stories define how the assistant reacts to user questions. This is done by Dialog Management and the created stories serve as training data for this.

    Stories are created in data/stories.md. The start of a dialog is indicated by their names in the form of a markdown heading of type H2. User intentions are marked by an asterisk and actions of the assistant by an indented hyphen.

    The exemplary dialogue, as shown above, can be presented as a story as follows:

    ## Bot-Challenge and ask for creator 
    * is_bot
    - utter_i_am_a_bot
    * how_created
    - utter_created_by_steadforce

    The story is called “Bot challenge and ask for creator”. The two # signs in front of it mark that this is the name of a story and therefore the beginning of such.

    In the next line the dialog between the assistant and the user starts. It begins with a so-called intent, which is indicated by the * character followed by its identifier. An intent is an intention of the user, for example, the question whether the user’s conversation partner is a bot. This intent also has a name, in this example is_bot.

    We will go into the various forms of this question in the description of Natural Language Understanding (NLU).

    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.

    The assistant reacts by replying with the action utter_i_am_a_bot.

    This is also just the name of this action. We see the definition of the response text right away in creating the domain.

    Next follows another intent of the user, to which we answer with utter_created_by_steadforce. In this pattern it is possible to create different stories, which serve as a basis for the Dialog Management of the assistant. Rasa also offers the option of creating stories in an interactive mode. These can also be saved in Markdown format and used for training.

    Creating Natural Language Understanding (NLU) data

    After creating sample dialogs based on the stories, we generate possible versions of the intents. When the user interacts with the assistant, the intent is recognized based on the input using so-called Natural Language Understanding. Again, we provide sample data, i.e. possible versions of the intent. We do this in data/nlu.md.

    The individual intents must be specified in the format ## intent:<intent-name>. The training data need to be provided as a list. For a meaningful training we need at least four example data per intent. The following example shows this using the intent is_bot.</intent-name>

    ## intent:is_bot 
    - Are you a bot?
    - Are you a human or a bot?
    - Am I talking to a bot?
    - You're not a bot, are you?

    For the intent how_created we generate training data according to the same pattern as well.

    Creating the domain

    Now that we have set up sample dialogs and training data for the NLU, all we have to do is define the domain. The domain is the environment in which the assistant operates. Among other things, intents and responses are defined there. The configuration of the domain is done in domain.yml. In this example, we configure the domain as follows:

    intents: 
    - is_bot
    - how_created
    responses:
    utter_i_am_a_bot:
    - text: "Yes I am a bot and developed with Rasa" utter_created_by_steadforce:
    - text: "My developers were staff of Steadforce"
    session_config: session_expiration_time: 60 carry_over_slots_to_new_session: true

    In this file the individual intents are listed and the texts for the responses, the answers of the assistant, are defined. Furthermore, the so-called conversation session is configured here. The conversation is a dialog between the user and the assistant. In this configuration, the session is terminated after 60 minutes without interaction by the user and slots are taken over into new sessions. Slots are key-value stores that the user can fill during the conversation. In this article we do not want to go into slots any further.

    Setting the language

    Before we can start training the bot, we have to do some configuration. Besides creating the training data for the NLU, we must specify the language of the assistant to enable a correct recognition of the users’ intentions. This setting can be made in the config.yml file.

    In our example we want to set the language to German. By default, English is preconfigured as language. So, we have to replace the value en with de.

    language: de

    In this file you not only specify the language but also the NLU pipeline and configure the policies that implement the Dialog Management for the assistant. We do not adapt these configurations in our example and use the default values given by Rasa.

    Create a chatbot — Training and a first attempt

    Once we have made all the necessary configurations, we can run the training and test the assistant via the console. Both is possible using the Rasa CLI.

    First of all, the training of the wizard has to be done.

    rasa train

    After a successful training the assistant can be used directly via the console.

    rasa shell

    Here we can test the conversation defined at the beginning and see if our assistant gives the right answers.

    Prospects

    In this example we have shown how to create a simple assistant that answers simple questions with fixed answers. Rasa also offers the possibility to execute Python code with so-called actions, for example to create dynamic answers. In addition, you can create assistants that fill out forms in the dialog. For this purpose,forms are used in Rasa. An application scenario for this are for example assistants that simplify reservation systems. If training data already exists in a certain data format, it is possible to create your own importers to avoid having to convert this data into the format described in the article.

    Rasa offers an easy way to create conversation assistants. If required, it also offers a high degree of flexibility to make extensions and configurations to meet the needs of individual target groups.

    Don’t forget to give us your 👏 !


    Create a Chatbot using Rasa was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.

  • An open source chatbot orchestration platform

    We define the concept of chatbot orchestration platform and why this is a revolution in the way that chatbots are built

    Orchestration is the automated configuration, coordination, and management of computer systems and software [1]. The term became popular with the mainstream adoption of web services and service oriented architectures (SOA) as there was the need to align and complement several independent services to respond to the business needs while satisfying its constraints (in terms of quality, reliability, price,…). Xatkit brings this concept to the chatbot world.

    Xatkit is the first full-fledged chatbot orchestration platform.

    You can use Xatkit as a tool to simplify your chatbot development projects thanks to our chatbot DSL and state machine semantics that provide good abstractions to facilitate the creation of complex bots. Kind of a low-code approach for chatbots. But Xatkit is much more than this. Xatkit is a framework that enables you to freely combine the best NLP technologies for your needs. Do you need a neural network to understand the user intentions? A sentiment analysis feature? A language model for translations?. Take whatever you need, from the best providers and combine them in a single chatbot. Let’s see how we achieve this.

    First step: Avoiding the Not Invented Here syndrome in the chatbot world

    Xatkit does not pretend to reinvent the wheel. We don’t suffer from the Not Invented Here syndrome. We develop our own solutions when we see a gap in the market but aim to reuse and enable as much as possible all the great NLP/NLU technologies that already exist out there. With so much research and development around natural language technologies, we believe the best way to serve our clients is to give them access to all the cutting-edge developments instead of getting them stuck and locked-in in ours.

    You can use Xatkit as a tool to simplify your chatbot development projects thanks to our chatbot DSL and state machine semantics that provide good abstractions to facilitate the creation of complex bots. Kind of a low-code approach for chatbots. But Xatkit is much more than this. Xatkit is a framework that enables you to freely combine the best NLP technologies for your needs. Do you need a neural network to understand the user intentions? A sentiment analysis feature? A language model for translations?. Take whatever you need, from the best providers and combine them in a single chatbot. Let’s see how we achieve this.

    At Xatkit we don’t care who invented it. If it’s good for you we’ll add it to the platform!

    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.

    Instead, many other companies follow the opposite route and try to compete against each other by duplicating the same features again and again. How many intent recognition providers the world really needs?. According to many chatbot vendors, several dozens!, many of them using a very similar approach. Xatkit is designed to use the one you like the most. This way you can use your favorite provider while we focus our efforts on making your life easier. For instance, by using Xatkit as platform, you can in the future switch providers (e.g. going from DialogFlow to IBM Watson) without changing a single line of your chatbot definition. Xatkit comes with a few predefined connectors (regular expressions, DialogFlow or nlp.js) but thanks to our architectural design and extension capabilities we can easily add new ones.

    Second step: Good chatbots need much more than just intent matching

    The key NLP component of every chatbot is the intent recognition component that takes as input the user utterance and identifies the intent behind it (plus recognizing the possible parameters in it). But a quality chatbot needs more than this. You may want to have a troll detector to block those comments right away without having to fully process them. Or a sentiment analysis component that then you can use to decide how to better keep visitors engaged depending on their mood. Or maybe apply an internal translation to support a visitor that may be addressing the chatbot in an unexpected language. Some of these actions should take place before the intent recognition phase. Others after. Others before AND after.

    Xatkit includes the concept of Language Processors to support these requirements. Processors can be preprocessors, postprocessors or both. And following the philosophy explained above, we either create our own processor (e.g. to remove stop words from any entities) or adopt any library/language model/… solution out there that we believe can do a better job. For instance, Xatkit integrates a processor based on Stanford CoreNLP for the sentiment analysis.

    At Xatkit, we believe building a chatbot should be as fun (and as easy) as playing with Lego. You take the pieces you need and assemble them together to create your ideal NLP pipeline. It doesn’t matter where you bought that piece. And you can always buy a new extension to enhance your bot functionality.

    A Lego-based approach to bot building

    Of course, we are working hard to provide the right abstractions to “defeat” the well-known saying that states that “Software reuse is more like an organ transplant than snapping together Lego blocks” (John D. Cook)

    Final step: Xatkit puts it all together

    All this sounds nice, but you may be thinking, who is gluing all these components together? Who makes sure they all execute in sync and share the data they need at the right time?. This is where our chatbot runtime engine comes into play. Xatkit is, at the same time, a chatbot definition and chatbot orchestration platform, giving you support for the full life-cycle of you chatbot. Via a simple configuration mechanism you can indicate how to deploy your bot (what components to use, what concrete providers / services connect to, etc) and Xatkit will be the genius conductor that will orchestrate the chatbot for you making sure each component follows its role in the chatbot choreography. Ready to give it a try?

    The conductor in the featured image is Mirga Gražinytė-Tyla. Lego photo by Kelly Sikkema on Unsplash

    Don’t forget to give us your 👏 !


    An open source chatbot orchestration platform was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.

  • Why Should All Marketers Learn More About Voice Search in 2021?

    Around 50% of all searches on the web are voice searches.

    In 2020, Campaign.com shared this staggering stat, based on Comscore research. In 2019, Statista.com backed this data up by saying that around 42% of the worldwide population used voice search within the past month. Adobe talked about 48% of consumers using voice for “general web searches.”

    However, due to the way the Internet is constructed and my curiosity, the 20th or 30th article about voice search I’ve read is debunking Comscore’s 50% prediction. According to it, Comscore projects “at least 50% of all searches are going to be either through images or speech in five years.”

    Whatever the exact number is, the buzz on voice search was in the air in 2020 for a reason, so now is a great time to learn more about this trend to be prepared for the future.

    Smart speaker market

    Smart speakers with voice assistants, which are responsible for 39% of all voice searches, are rapidly expanding in North America.

    Around 26% of Canadians and 24% of Americans owned smart speakers with personal assistants as of early 2020. These numbers are even higher for households.

    Alexa is the leading brand in the US smart speaker market, owned by 74% of Americans. Сanadians are not so apparent in their choice — 53% of Canadians prefer Google Home while 48% of Canadians own Alexa.

    Forecasts are even more promising. The worldwide smart speaker market revenue is going to increase by 44% in the next five years, reaching $35.5 billion in 2025.

    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.

    What should marketers do?

    Quick answer — optimize their websites for voice search.

    The problem is that voice search and regular search are different.

    With voice search, you’re playing an all or nothing game — you have one chance to be picked up by a voice assistant.

    However, it is most likely to happen if you’re first in search results, particularly in SERP features.

    You can’t measure ROI from voice search optimization. For now, Bing or Google web analytics don’t provide tools to identify how much traffic comes in via voice search.

    But what you can do is tailor your SEO strategies based on the knowledge of smart speakers’ behaviour.

    Here are some key takeaways from the SEMrush Voice Search 2020 study that might help you understand voice searches’ main characteristics and how they differ across the most popular smart speakers.

    Recommendations for voice search optimization

    1. Put specific questions in your titles or subtitles, starting from the 5 Ws: “Who,” “What,” “When,” “Where,” “Why” + “How.” Consider adding the FAQ section to your website.
    2. Use long-tail keywords and more conversational keywords. Use AnswerThePublic to discover how exactly people are searching for stuff.
    3. Give short and sweet answers to particular questions within your content.
    4. Optimize your website for local voice search as 22% of voice queries are for local-based content.
    5. Make your website load fast on all devices.
    6. Focus on ranking in featured snippets. Most importantly, ranking in featured snippets is our primary measurement to identify how well a website is optimized for voice search.

    Lionbridge case study

    Some companies have already realized the importance of the voice search trend and optimized their websites for voice search queries.

    Lionbridge, an American company specializing in translation and game localization, attributes a 127% growth in page views to their voice search optimization strategy. In just a year, they improved their ranking in featured snippets from 0.7% to 27% and increased their SERP positions by 22.5%. Here is a detailed case study explaining how exactly they’ve achieved such results.

    Don’t forget to give us your 👏 !


    Why Should All Marketers Learn More About Voice Search in 2021? was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.

  • Learning DialogFlow CX?

    Let’s do this together! I am looking for an accountability and co-working buddy to learn DialogFlow CX. Two (or more) heads are better than one!

    Msg me if you’re game.

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

  • How Chatbots and Email Marketing Integration Can Help Your Business

    Do you know you can increase your marketing results by integrating chatbots and email marketing? In this guide, we have discussed 5 strategies for the same.

    Photo by Michael Dziedzic on Unsplash

    Email marketing and chatbots have their own advantages and can help you achieve different marketing and business goals.

    But, what if you integrate these to get better results from both?

    Well, email marketing and chatbots integration is not just possible but is a strategy that many smart marketers use.

    These two complement each other perfectly and either can be used to boost the other’s performance.

    Email marketing is one of the key website traffic sources and once the users reach your website, chatbots can help them with whatever they’re looking for.

    Alternatively, chatbots can collect relevant user information to fuel your email marketing campaigns.

    This is a well-balanced loop where both can help to improve the other and work hand-in-hand to deliver better user experiences.

    Want to learn how to use email marketing and chatbots integration to your advantage?

    Here are some of the ways in which email marketing and chatbots integration can be done to get you better results from both.

    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.

    Use Chatbots to Generate Leads for Email Marketing

    The simplest way to integrate chatbots and email marketing is to use chatbots to generate leads by collecting email addresses for email marketing.

    Chatbots can ask your website visitors to provide their email addresses by offering some incentives.

    For example, you can train your chatbot to ask for a user’s email address at the end of a conversation. The incentive can be that they will get personalized offers and discounts, stay updated on the latest content on your website, etc.

    Chatbots can also ask for your email address to get you in touch with the company’s team or to provide better assistance.

    Here’s an example of a simple chatbot conversation where the chatbot collects email addresses in the natural flow of the conversation.

    Image via GetJenny

    This is a simple, yet effective way to generate leads for email marketing while still providing good user experience.

    This kind of email marketing and chatbot integration can add a new source of lead generation for your business.

    Moreover, leads collected this way are already qualified because these are your website visitors who engaged with the chatbot.

    You can even create customer satisfaction surveys using the chatbot and receive the response on email.

    So, they have already shown some interest in your business and are ready to be nurtured further.

    Create Segmented Email Lists Using Chatbots

    Chatbots collect useful user data and insights that can help you segment your email lists according to different parameters. You could, for instance, use demographics like age, gender, etc. to segment your email lists. You can also take this a notch higher and create segmented email lists based on past purchase history and user preferences.

    With chatbots, this can happen in real-time. Chatbots can collect this information and segment each use to the most relevant email lists. They can send this user data to your email marketing platform and also to specific mailing lists.

    This increases the effectiveness of your email campaigns multifold as you can then create personalized emails for people in different lists.

    Leverage Insights From Chatbot Conversations to Personalize Your Emails

    Adding to the previous point, insights gained about a user from chatbots are helpful in personalizing your emails. It is not just limited to segmented email lists but can be extended further by personalizing emails on an individual level.

    Chatbots are trained to ask specific questions to users, to provide them with personalized product recommendations and tips. This valuable user data is stored in chatbots’ past conversations logs and can be put to good use by using it for sending personalized emails.

    Imagine, a user buys a product based on a chatbot’s recommendation and you send an email with similar product recommendations that the user might be interested in.

    Given that they have already made a purchase, they would be more likely to purchase again if you show them things that they might like.

    Sending personalized emails like these can help you engage your audience and encourage repeat purchases. This means that email marketing and chatbots integration should also be one of your ecommerce sales strategies for 2020.

    Chatbots have a treasure trove of data waiting to be utilized, you simply need email marketing and chatbots integration to unlock its true potential.

    Send Reminders Using Chatbots to Prompt People to Read Your Emails

    This is a fairly unique and lesser-known way in which email marketing and chatbot integration can help your business. You can use chatbots to send reminders to people who have not yet opened your emails.

    Most advanced chatbots have the option to send push notifications to users. This feature can be leveraged to send a reminder notification for unopened emails, thus improving your email open rates.

    Automate Your Emails by Integrating Chatbots with Email Marketing

    Many advanced AI chatbots have the option to send automated email notifications as a response to certain triggers. You can decide what these triggers are and what message needs to be sent when the chatbot is triggered.

    For example, let’s say that a new user has signed up for your emails and provided their contact details to the chatbot. The chatbot can use this as a trigger and send an automated welcome or thanks for subscribing email notification to the user. It can also send an automated email to your team informing them that a new user has signed up.

    This image from the Landbot chatbot builder clearly shows how this unique email marketing and chatbot integration can be achieved.

    Image via Landbot

    Conclusion

    By using chatbots in email marketing you can take your marketing performance to a new high. Chatbots perfectly complement email marketing and can help you create better, more targeted, and personalized email campaigns.

    You can use email marketing to drive traffic to your website and let chatbots handle the lead nurturing and conversion part. Or, you can collect email addresses using chatbots and then use emails to engage and nurture the leads.

    Either way, email marketing and chatbots integration can be beneficial in generating more leads, nurturing them, and driving sales conversions. Use these five tips for seamless email marketing and chatbot integration for your business.

    Don’t forget to give us your 👏 !


    How Chatbots and Email Marketing Integration Can Help Your Business was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.

  • What is a UX Writer?

    You most likely have heard of copywriting, technical writing, and content writing — but what’s UX writing? I’m currently a UX Writer at a…

  • Samsung Adds “Hey Sammy” Wake Word to Bixby, But Only on the Galaxy Home Mini

    Samsung’s Bixby voice aide would now be able to be awoken by saying, “Hello, Sammy or “Sammy-ya,” however, just on the Galaxy Home Mini…