Sentiment Analysis

With the increased penetration of internet and mobile, user-generated content is growing at a rapid pace. Also with a cut-throat race to acquire a customer or even to retain a customer, every brand or company needs to understand what their customers are saying. People write their reviews on various websites, facebook, tweet about it or post photos with comments. If brands or companies want to understand if their brand is being talked about in a positive way or a negative way, what they need is to carry out Sentiment Analysis on this data.

Sentiment Analysis
Sentiments – Any Guesses?

But, what is Sentiment Analysis?

As the name suggests, it is the analysis of data to find out what that data is representing. Are there more happy emotions or sad emotions or there is anger. The Sentiment Analysis tools capture data from various sources. Various types of algorithms are run on this data to identify the emotions appearing in the data. Natural Language Processing (NLP) and Machine Learning (ML) are important backbones of this analysis. NLP allows the tool to process human language. ML allows the tool to learn various moods appearing in the data.

Challenges

Humans have weird ways to express themselves. When someone says “Wow!!”, it could mean real appreciation or it could mean sarcasm. We also say “Hating <brand> is not really my thing” – which may be a positive comment about the brand.  Or when we say “He was so aggressive, but then I used to like him” – it represents mixed emotions. “I really love my phone, and I’d hate to lose it” – two different emotions about two different entities. And I can go on and on. Hence the tool has to learn all such variations and then come up with a score which would help the brands and businesses to improve their services. Or such score could also be used to create a marketing plan around the emotions.

The tool analyses words, context, the frequency of words, their occurrences with other words and then starts giving you insights. Take a look at the data gathered from tweets during Chennai Rains in 2015.

You can read the full analysis and see how sentiment analysis could be useful even during crisis situations. Or take a look at data that was analyzed on World Book Day about two biggest e-commerce players (then!!). As you would see, the analysis suggests a marketing plan based on the Sentiment Analysis.

Related Links

Related Keywords

Natural Language Processing (NLP), Machine Learning, Supervised Machine Learning

RFID – Radio Frequency Identification

Radio Frequency Identification i.e. RFID is now a widely used technique and many might have even used it. But how many of us understand the technology behind it? Let’s learn a bit more about it today.

Warehouses typically use RFID
Warehouse Operations Using RFID

How does RFID work?

This technology consists of two parts – a tag and a reader. An RFID Tag is a small object which could be attached to objects that need to be tracked. These tags store some information in a non-volatile memory. This information could be permanent (Read Only) or could be changed using writer devices. The second part is the reader. It is a device which reads the data stored on the tag. The reader sends some signal to the tag and in response to that signal, the tag sends back the data stored with it. This process is known as “interrogation”. The signal that reader sends is a Radio Wave having a frequency between 120kHz and 10GHz.

Typical Use Cases

  • Animal identification
  • Warehouse Stock Identification
  • Promotion Tracking
  • Passport
  • Libraries
  • Payments at the toll booths

Use of RFID tags is growing globally and new use cases or needs are getting addressed.

NFL (National Football League) is using RFID tags on various sports accessories such as football and shoulder pad to collect a lot of data about the game. The data includes parameters like speed, acceleration, deceleration, location etc. Also, this data is captured 25 times per second. This would give a lot of insights to the trainers/coaches as well as to the fans of the NFL.

This type of data collection is possibly done using RFID Tag of type Active Reader Active Tag system. In this system, the readers are set to collect data from a specific interrogation zone so that data collection is strongly controlled.

A drone has been developed by researchers which can read RFID tags in a range which is few hundred square feet, instead of usual few feet range. This could be of significance for large warehouses such as Walmart or Amazon. It could potentially save several thousand dollars and person-hours in finding missing items.

In another significant area of Healthcare, RFID tag has been developed which could read vital body parameters such as heart rate and blood pressure. One central reader can receive data from as many as 200 RFID tags. This could improve the response by the medical team during large-scale emergency situations.

RFID is here to stay and become more and more mainstream.

Related Links

Related Keywords

Radio Waves, Barcode, Big Data, Wireless Communication, NFC

 

CDN

Content Distribution Network or Content Delivery Network is known as CDN. As the name signifies it is a network that allows various applications to distribute their contents to the clients. “Content” that is referred in this term is static content, which doesn’t change frequently. A typical example of such static content is any image you see on the web. The image contents don’t change often and hence it is referred as “static”.

Why does one need CDN?

With global customers, a website can expect traffic from anywhere in the world. However, most of the times servers that host your application would be located in a single location (barring some exceptions). How fast a webpage will be served is constrained by the physical distance between server and a client. As a result, a visitor from the US will have higher latency as compared to a visitor from India when the web server is located in India. In this highly competitive edge, where customer drops of if there’s even a 2-second delay in response, websites strive to deliver contents as fast as possible. And this is where CDN comes into picture.

Content Delivery Network caches the static contents at various places in various geographic locations. These locations are called as Edge locations. The edge locations are configured to fetch data from the base web server, called as “Origin Server”. The data remains in the cache until expiry. After expiration, the Edge location queries the “Origin” server and fetches if the data is modified.

Load websites faster using CDN
CDN gives you speed!!

But how does this solve the problem in latency?

CDN has created the cache locations. But the real question is how would a client know which Edge location to request data from? This is solved by the Content Delivery Network. Each CDN endpoint has multiple IP addresses corresponding to all the Edge locations. CDN uses a concept for GeoDNS. GeoDNS allows the DNS (Domain Name Server) to identify the location of requesting client IP and return an IP address of the nearest Edge location. This is why we say CDN returns the data from nearest geo-location.

How does CDN Work
How does CDN Work – Source: https://f9official.com/2017/08/28/content-delivery-network-cdn/

So when you request a webpage, the request goes to the webserver. The HTML specifies that static resources should be loaded from CDN. As a result, the client makes the request to the CDN. CDN delivers contents from nearest geo-location.

Any other advantages?

Yes. Since your static data is cached to external servers i.e. the edge locations, your web/app server is free to do the operations where logic is involved. Using CDN reduces the load on the web/app server, thereby improving the response times to the clients. This results in the better customer experience.

CDN providers

  • Akamai
  • AWS CloudFront
  • MaxCDN
  • Azure CDN

Related Links

Related Keywords

AWS CloudFront, GeoCDN, Anycast

Android Things

Now this is something interesting. Android Things is an embedded OS platform by Google and is obviously Android-based 🙂 This platform is meant to target IoT (Internet Of Things) devices. IoT devices typically have power and memory constraints and this OS aims to operate within those constraints. Typically these devices have about 32 to 64 MB RAM.

Internet of Things - Android Things - embedded OS
Internet of Things – Android Things – embedded OS

History of Android Things

Google had announced OS for IoT devices back in 2015 with name “Brillo”. That OS was C++ based. However, it never came out of developer preview. Later in Dec 2016, Google announced Android Things which was based on Android i.e. Java. An important advantage of this shift is that development life cycle almost remains same as that of mobile app development. Developers can use Android Studio and other popular IDEs for development for this OS.

So, what’s latest on this front?

In current Consumer Electronics Show – CES 2018, many OEMs are announcing their products based on Android Things. e.g. Voice Activated Speakers powered by Android Things. Google Assistant will be coming to smart displays, which would be powered by Android Things. Check this video which shows a drawbot drawing a facial image captured by photo. As you would have guessed, this drawbot is powered by AndroidThings

Developers would be able to push the updates to the OS, just like other Google products.

Competitors:

  • Microsoft – Windows 10 IoT
  • Amazon – AWS Greengrass – this is not exact competition, but it is Amazon’s entry point of the IoT strategy.

Some References:

Related Keywords

Android, Operating System, Embedded OS, IoT, AWS Greengrass

VPC – Virtual Private Cloud

When you are hosting your application in the cloud, you would be worried about the security of your resources in the cloud, especially data in transit. No one would want their data to be snooped or would not want unauthorized access to their servers which are in the cloud. For such scenarios, VPC i.e. Virtual Private Cloud comes into the picture.

Virtual Private Cloud is essentially an isolated network (logically) from other tenants’ network on the cloud. VPC is a terminology introduced by AWS, however, other IaaS providers also have similar concepts. In Google Cloud also you get “Virtual Private Cloud”, however in Azure, you get “virtual network”.

Key features of VPC

Since this is your own private network in the cloud, you get a lot of control in configuration and implementation. One can define subnets, routes, network ACL (access control lists). Additionally, you also get control of which subnets can have access to the internet and which do not.

In VPC, the network administrator can set up their resources such as virtual machines, containers or databases. These resources could be in a single subnet or multiple subnets. There could be routes defined which will allow only certain subnets to access a given subnet. This gives a very good control to the network administrator over her network.

Typical VPC implementation in AWS

AWS VPC Implementation
AWS VPC Implementation (Source: https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html)

Are there any differences in VPC by AWS and Azure?

Although they are very similar in concept, VPC in AWS and Virtual Network in Azure have some differences.

  • AWS provides a wizard to create Virtual Private Cloud with 4 different basic options. Azure doesn’t have a wizard.
  • AWS allows you to use Security Groups and Network ACL both to control access. However, in Azure, you can use only one of them at a time.
  • AWS provides custom routing tables to control access within the VPC. However Azure doesn’t have such feature.

Related Links

Related Keywords

AWS, Cloud, Azure, Virtual Network, Google Cloud