Your cart is currently empty!
Month: April 2021
-
How to create and use a tradebot and use my trading? | Info for trading
As an investor/trader, I wanted to access the information of the stock quickly and buy/sell quickly. However, often trading is not the…
-
5 Best Resources for learning NLP — Natural Language Processing
5 Best Resources for learning NLP — Natural Language Processing
“You don’t understand anything until you learn it more than one way.” — Marvin Minsky
Natural language processing provides ability to the machines to understand and interpret human language. This is one of the subdomains in Artificial Intelligence.
The power of natural language processing has changed the way we interact with the devices around us. It has let us interact, search, order a machine the language humans use in day to day life. NLP has applications in almost every domain Medical, E-Commerce, Defence etc., The widespread adoption of this technology has lead to rapid development in the recent times.
In this article, I will list out 5 major resources to get started with NLP.
Before we begin, There are some pre-requisites in order to understand the following materials.
- Python
- Calculus, Linear Algebra, Basic Probability and Statistics
- Foundations of Machine learning
1. Stanford CS224N
The first and foremost resource would be the lectures by Stanford. This course starts with the basics, word embeddings. Neural networks, Backpropogation, Dependency parsing, Language models, RNN, seq to seq, Attention, Transformers. It is a perfect resource to get started as it gives strong foundations about all the topics.
Course Link: https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/
2. Deeplearning.ai NLP Specialization on Coursera
This course focuses more on application based learning. Various tasks like sentiment analysis, Question Answering, Translation, Summarization, Chatbots are covered. This is a more structured specialization. The specialization is divided into four courses. Specialization requires you to subscribe. But if you take the courses separately you can audit the courses and access the contents.
https://www.coursera.org/specializations/natural-language-processing#courses Following is the list of four courses
Course 1: Natural Language Processing with Classification and Vector
Course 2: Natural Language Processing with Probabilistic Models
3. Dive into Deep learning
Dive into Deep learning is a Deep learning Textbook. It has end to end concepts about Deep learning and a specialized section for Natural Language Processing. Chapter 14 and Chapter 15 cover the NLP Topics from basics to advanced.
Most impressive thing which I liked about this resource is that the code snippet is provided in three frameworks Tensorflow, pytorch and MXnet. This helps a lot when you want to understand the implementation in any of the frameworks.
http://d2l.ai/ Textbook link: http://d2l.ai/
Trending Bot Articles:
3. Concierge Bot: Handle Multiple Chatbots from One Chat Screen
4. Blog posts by Jay Alammar
Jay Alammar has written very expressive blogs about various concepts about Machine learning and Natural Language processing. The Illustrate Transformer is the best resource to understand the Transformers Architecture. There are various well illustrated blogs on Word2Vec, BERT, GPT2, GPT3.
5. Natural Language Processing Fundamentals — Datacamp
This resource is best for learning the concepts by coding, rather than just going through the materials. Regular expressions, NER are the highlights of this fundamental course along with interactive coding IDE.
DataCamp Course Link: https://www.datacamp.com/courses/natural-language-processing-fundamentals-in-python
Having the right resources to learn at the beginning is very important. Since, many a times we end up spending a lot of time sticking to a single resource and then giving up without completing it.
Proper resources motivate you to learn more
I hope you will find the resources handy when you are getting started or looking to learn a new concept in NLP.
Don’t forget to give us your 👏 !
5 Best Resources for learning NLP — Natural Language Processing was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.
-
Putting Text on Image Using Python — Part I
Putting Text on Image Using Python — Part I
Computer graphics teaches us how a pixel on a screen can be manipulated to draw beautiful shapes, artistic typography, eye-catching illustrations, ‘make-me-look-good ‘ photo-filters, and a lot more. Hardware manufacturers, researchers, software developers work together to build great products: smartphones, smartwatches, smart TVs, cameras all with the study of computer graphics.
Despite the fact that computer graphics has evolved so fast and the development of software like Adobe Photoshop, Adobe Illustrator, Sketch has made our lives easier to a great extent, we still cannot generate images on-the-fly with them. In order to do that, we’ll need to reach a level where there is no drag and drop, no fancy select-all-make-bold keyboard shortcuts, no cropping, and no copying-pasting.
And we cannot get there by time-travel, but surely with code!
Getting Started
Come along, open your favorite text editor, follow me and I’ll help you draw dynamic text data on images. I assume you have Python and pip installed on your computer, but if not, follow the steps in the links to set up the development environment. After you’ve done setting up, from the shell, execute the below command to install Pillow(more details here)and its dependencies.
As you now have installed all dependencies, let’s move forward and write some code. Pillow is an extensive library, but for our purpose, we’ll be using the following classes:
- Image: to create an image object for our greeting background
- ImageDraw: creates a drawing context
- ImageFont: font of the text we will be drawing on the greeting
Let’s take the following background image and initialize it with the following code:
Code:
# import required classes
from PIL import Image , ImageDraw , ImageFont
# create Image object with the input image
image = Image . open ( ‘background.png’ )
# initialise the drawing context with
# the image object as background
draw = ImageDraw . Draw ( image )
For creating ImageFont objects we also need font(ttf, otf) files. You can use any font of your choice, here I’ll be using the Roboto font which can be downloaded from the Google Fonts GitHub repo .
# create font object with the font file and specify
# starting position of the message
message = “Happy Birthday!”
color = ‘rgb(0, 0, 0)’ # black color
# draw the message on the background
color = ‘rgb(255, 255, 255)’ # white color
image . save ( ‘greeting_card.png’ )
With some fonts, you might have to pass an optional parameter encoding which tells the ImageFont module which encoding to use while opening the font file.
Computer graphics have an inverted coordinate system, the here represents the distance of the text box from the left origin(0, 0) that lies at the top-left corner of the image. x(x=0) and y represents the distance from the top (y=0).
While you save the image, you can pass optional parameters like optimizeand quality to control the size of the output image.
image.save(‘optimized.png’, optimize=True, quality=20)
This generates an output image optimized.png with reduced quality but smaller size.
Trending Bot Articles:
3. Concierge Bot: Handle Multiple Chatbots from One Chat Screen
Where Are We Using Pillow With Python?
While at work, I recently developed a feature that demanded the creation of a leaderboard image on-the-fly, with user-specific quiz score data. And just with a few lines of code, I was able to create an image like this:
Haptik Weekly Quiz Leaderboard
Voila! It looked great and we decided to use the idea of creating images on-the-go, for other use-cases as well. We currently use Pillow to generate images for Jokes, Motivational Quotes, Horoscopes, Word of the Day etc. in real time, and with data from different API responses.
Haptik Motivational Quote & Word of the Day
The code we used in this post is not sufficient to draw text boxes as shown in the images above. I’ll be writing another post that will focus on text alignment, splitting long text into multiple lines, controlling space between two lines, and more.
Please do give us your feedback if any in the comments section below. Haptik is hiring. Do visit our careers section or get in touch with us at hello@haptik.ai.
Want to develop an Intelligent Virtual Assistant solution for your brand?
Don’t forget to give us your 👏 !
Putting Text on Image Using Python — Part I was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.
-
Spacium Chat
From the random hi-hello’s to the formal work meetings, SPACIUM CHAT is there for all your virtual-connection requirements.
Download the SPACIUM CHAT App today!
submitted by /u/Spaciumindia
[link] [comments] -
A Chatbot can Promote your business
AI(Artificial Intelligence) & NLP(Natural Language Processing) are the biggest player in this evolving technology, CHATBOT.
No doubt it’s evolving as the backbone for the customer service industry, But surprisingly it moves diversity lead the Tech future into automation in every factor. Brands & Companies realizes sales bot is an incredibly feasible and versatile tool for automation business process. Chatbot Marketing is a way to promote products and services via a bot.
The key things expect from chatbots are:
Get prompt solutions.
Considering their queries instantly.
Guidance and a better knowledge base throughout the process.
A seamless user experience.
AI bots have already touched businesses, from banks and hospitals to real estate and e-stores, and all types and sizes of units. They aren’t just benefiting businesses but also providing support to non-profit organizations and educational institutions. With the chatbots’ innovation, the burden of time-consuming tasks was quickly transferred to an automated system, allowing businesses to serve their prospects better. It is one way to stay competitive in modern-day commerce.
With the right choice of the chatbot development team, you can save lots of money and raise revenue and overall customer support services. The adoption rate of such marketing ways is rising immensely following the dynamic market. Nowadays, customers are quite smart and intelligent and get annoyed with old CSS ways. Thus, it is quite essential to introduce better and intelligent ways to connect with the audience. For more details
submitted by /u/botpenguin1
[link] [comments] -
Make Scrips Seem More Human
I see this being asked all the time so figure Id post my ideas on it and see if any I am Missing people could add to it.
To make my scripts seem more like a person is at the helm:
Random with sleeps
make script make mistakes
make script sometimes switch its self up on answers
Mis spell some words here and there
breaks in between actions or typing
submitted by /u/RoughCalligrapher906
[link] [comments] -
Real Time Messaging Using Mqtt
This post is written by Viraj Anchan, Full Stack Engineer at Haptik.
Haptik is a chat application that connects users to their digital personal assistants in real time. When chatting with your personal assistant, you want as little delay as possible in order to get things done quickly.
When I joined Haptik after graduating from college in May 2015, my first technical challenge was learning the messaging architecture. In July 2015, I suggested to our CTO that we shift from XMPP to MQTT. Our mobile apps (Android & iOS) and Athena (web chat tool used by our assistants) used XMPP for real-time messaging. We were facing a lot of issues with XMPP. To point out a few, XMPP lacks built-in Quality of Service (QoS). QoS is an agreement between the sender and receiver of a message regarding the guarantees of delivering a message. Since XMPP lacked the built-in QoS, we had to build our own custom solution to ensure message delivery. Along with that XMPP session is one big long XML document and every client has to use an event-driven XML parser. All in all, XMPP was proving to be a lot of overhead and maintenance for us and we needed a better more scalable solution. In January 2016, we finally decided to shift from XMPP to MQTT.
MQTT is a lightweight machine-to-machine/”Internet of things” connectivity protocol. MQTT stands for MQ Telemetry Transport. MQTT is an extremely simple and lightweight publish/subscribe messaging protocol. It is designed for constrained devices, high latency or unreliable networks. The design principles are to minimize network bandwidth and device resource requirements whilst also attempting to ensure reliability and some degree of assurance of delivery. These principles make MQTT ideal for IOT and mobile apps where bandwidth and battery power are at a premium.
5 reasons why we shifted from XMPP to MQTT
1. Less overhead and lightweight
2. Supports QoS (fire and forget, at least once and exactly once)
3. Low keep-alive traffic
4. Pub/Sub Mechanism
5. Low power usageMQTT provides 3 types of QoS for delivering messages:
QoS 0 (fire and forget) — The message is delivered at most once. QoS 0 messages are not stored. Therefore QoS 0 messages are lost if client disconnects. In QoS 0, delivery of message is not acknowledged. It is the fastest mode of transfer.
QoS 1 (at least once) — The message is delivered at least once. Messages might be delivered multiple times if sender does not receive an acknowledgement from the receiver. The messages must be stored at the sender’s end, until sender receives a confirmation from the receiver.
QoS 2 (Exactly once) — The message is delivered exactly once. QoS 2 ensures that the message is received exactly once by the receiver. The messages must be stored at the sender’s end, until sender receives a confirmation from the receiver. It is the most reliable mode of transfer. It is also the slowest mode of transfer since it uses an advanced acknowledgement sequence as compared to QoS 1.
Trending Bot Articles:
3. Concierge Bot: Handle Multiple Chatbots from One Chat Screen
MQTT uses a pattern called publish/subscribe. Multiple clients connect to the MQTT broker. Clients can either publish or subscribe to a topic. Topics are used by the broker to decide who will receive a message. The broker and MQTT act as a simple, common interface for everything to connect to.
Our MQTT server is powered by Mosquitto. Mosquitto is an open source message broker that implements the MQTT. It is written in C. Mosquitto is easy to install and deploy. It supports TLS, Websockets and provides authentication either via username/password, pre-shared keys or TLS client certificates. It also supports ACL. Using ACL, you can configure which clients can access which topics. We decided to use Paho Python library for the backend. Our backend maintains an MQTT connection and routes messages through our chat pipeline.
Installation (mosquitto on ubuntu)
sudo apt-get install mosquittoInstallation (paho-python)
pip install paho-pythonHere is a simple client that subscribes to a topic (sports/cricket/india) and prints out the resulting messages.
<i><span style=”font-weight: 400;”>import paho.mqtt.client as mqtt</span></i>
<i><span style=”font-weight: 400;”># The callback for when the client receives a CONNACK response from the server.
</span></i><i><span style=”font-weight: 400;”>def on_connect(client, userdata, flags, rc):
</span></i><i><span style=”font-weight: 400;”> print(“Connected with result code ” + str(rc))
</span></i><i><span style=”font-weight: 400;”> client.subscribe(“sports/cricket/india”)</span></i><i><span style=”font-weight: 400;”># The callback for when a PUBLISH message is received from the server.
</span></i><i><span style=”font-weight: 400;”>def on_message(client, userdata, msg):
</span></i><i><span style=”font-weight: 400;”> print(msg.topic +” ” + str(msg.payload))
</span></i><i><span style=”font-weight: 400;”> client = mqtt.Client()</span></i><i>
</i><i><span style=”font-weight: 400;”>client.on_connect = on_connect
</span></i><i><span style=”font-weight: 400;”>client.on_message = on_message</span></i><i><span style=”font-weight: 400;”>client.connect(“localhost”, 1883, 60)</span></i>
<i><span style=”font-weight: 400;”>client.loop_forever() </span></i>
Here is a simple client that publishes to a topic (sports/cricket/india)
<i><span style=”font-weight: 400;”>import paho.mqtt.client as mqtt</span></i>
<i><span style=”font-weight: 400;”>client = mqtt.Client()
</span></i><i><span style=”font-weight: 400;”>client.connect(“localhost”, 1883, 60)
</span></i><i><span style=”font-weight: 400;”>client.publish(“sports/cricket/india”, “India wins Asia Cup 2016!”)
</span></i><i><span style=”font-weight: 400;”>client.loop(2)</span></i>MQTT has helped to make our application lightweight and ensure real-time reliable message delivery. MQTT is an amazing protocol which has lots applications in mobile, IOT and M2M communications. If you want a lightweight and reliable messaging protocol, then you should definitely consider MQTT.
Wish to be a part of the amazing things we build? Look no further! Reach out to us at hello@haptik.co
Want to develop an Intelligent Virtual Assistant solution for your brand?
Don’t forget to give us your 👏 !
Real Time Messaging Using Mqtt was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.
-
Top 8 Examples of Chatbots in the eCommerce Industry in 2020
Chatbots have changed how businesses in the eCommerce industry connect with their customers with instant, affordable, and highly customizable support. Over the years, companies have been innovating with chatbots and coming up with unique implementations that help achieve different business objectives. In this article, we’ll take a closer look at the top 8 examples of chatbots in the eCommerce industry in 2020.
SnapTravel
SnapTravel Hotel Booking Chatbot Nike StyleBot
With a clever campaign during the launch of their AirMax Day shoes, Nike increased its average CTR by 12.5 times and the conversions by 4 times. How did they do it? With a chatbot called StyleBot.
The StyleBot is an AI chatbot that allows enthusiasts to find shoes based on their preferences through product recommendations. However, StyleBot’s party trick was giving users the ability to create their own personalized shoe designs. After designing their own shoes, customers had the option to share it (or save) or even buy it.
Nike StyleBot for Facebook Messenger Aerie
A lot of eCommerce chatbots have limited functionality, with most of them simply being “store-finders”. Not Aerie’s chatbot though. This chatbot by US-based clothing and lingerie brand has taken a fresh approach to product recommendations. Instead of simply sending the user links to different products, Aerie sends over a side-by-side comparison of two products with two captions: This and That. Users reply with either “This” or “That” to indicate their preferences.
Aerie eCommerce Chatbot Whole Foods
In 2016, Whole Foods launched its chatbot on Facebook Messenger and it did everything a Whole Foods’ chatbot should do — it helped customers find recipes, ingredients, locate nearby stores, recommend different recipes, and also teach how to make them.
However, Whole Foods’ chatbot was different in one way — customers could use emojis to talk to it. Now not everyone wants to talk using emojis but customer engagement sure increased because people want to see what a chatbot would recommend if you send it an emoji of what’s in your fridge.
Whole Foods Market Bot Lidl’s Winebot
Lidl’s Winebot Margot is an AI chatbot that recommends different wines to users by catching keywords in their messages, everything from price and grape to taste and region. Margot has a friendly tone and educates users on various types of wines, what they go well with, the price, and quite a few other details — basically everything most people need to quickly pick up a new wine.
Trending Bot Articles:
3. Concierge Bot: Handle Multiple Chatbots from One Chat Screen
Lidl’s AI Wine Chatbot The chatbot is created by Lidl UK and operates on Facebook Messenger.
Sephora Facebook Messenger Chatbots
Sephora has two AI chatbots on Facebook Messenger. The first is the Sephora Reservation Assistant which helps customers make a booking at Sephora quickly. Since its launch, the chatbot has resulted in an 11 percent increase in conversions.
The second chatbot is called Sephora Virtual Artist and is a big step in chatbot innovation. Virtual Artist is a shade matching bot that allows customers to try on different shades of lipstick by uploading a picture. Virtual Artist can also be used to find different shades of lipstick.
Sephora eCommerce Chatbot for the Beauty Industry Dom Juan (Domino’s Pizza)
In 2016, Domino’s introduced Dom, the Pizza Bot, a chatbot that could take your orders — through voice as well. It’s a great chatbot that works with Facebook Messenger, Slack, WhatsApp, Apple Watch, and a few other platforms. However, it’s not the chatbot we have on our list.
Domino’s Pizza Chatbot Meet Dom Juan, Domino’s latest chatbot that servers romantics on Tinder “cheesy” messages. It was more of a marketing stunt than actual customer service but it was a great stunt, nonetheless and since we’re giving points for innovation, Dom Juan had to be on this list of top eCommerce chatbots.
Subway (Google RCS)
Google RCS (Rich Communication Services) is a new messaging protocol with endless use cases for business messaging. It also supports advanced chatbots.
However, Subway did not create a chatbot for Google RCS. Instead, they used the service natively to send deals and promotional offers to customers in an interactive and rich-media format. The reason we’re including this in our list of chatbots is because Google RCS will soon become a must-have for business messaging. When Subway used RCS during its limited release phase, it still managed to increase conversions on sandwiches by 140% and by 51% on meal deals. With RCS soon launching on all major networks, this effectiveness will only increase.
Subway’s Facebook Messenger Chatbot In conclusion…
These were just eight examples of how eCommerce businesses can leverage conversational technology and chatbots, in particular, to provide an interactive customer experience. If you’re interested in learning more about how chatbots can help you or how you can create a chatbot for your own business, reach out to Master of Code Global today for a free consultation!
Don’t forget to give us your 👏 !
Top 8 Examples of Chatbots in the eCommerce Industry in 2020 was originally published in Chatbots Life on Medium, where people are continuing the conversation by highlighting and responding to this story.