Employer’s Checklist for Hiring

  • Ascertain the need for a replacement or new position.
  • Schedule a recruitment planning meeting with the recruiter, the head of human resources, the hiring manager, and a potential internal coworker or client.
  • Analyse and prioritize the key requirements for the position such as special qualifications, traits, characteristics, and experience that a candidate has to possess
  • Develop the job description for the position.
  • Discuss and determine the salary range for the position.
  • Decide if the department can afford to hire an employee to fill the position.
  • Publish the post internally. If you anticipate having difficulty finding a qualified internal candidate for the position, please indicate in the publication that you are externally advertising the position at the same time.
  • Send a company-wide email to notify staff that a position has been posted and that you are hiring employees.
  • Encourage interested internal candidates to complete the Internal Position Application.
  • Assessing candidates on Cultural Fit, Technical Qualifications, Customer Responsiveness, and Knowledge are several of the selection responsibilities.
  • Ask interviewers to complete the Job Candidate Assessment Form.
  • If an internal candidate is selected for the position, provide a written job offer describing the new job description and salary.
  • Agree on a transition schedule with the current supervisor of the internal candidate.
  • If qualified internal candidates do not apply, broaden your search to external candidates, develop your candidate pool from various applicants through Word of Mouth Outreach, social media postings, classified ads, on-campus interviews, employment agencies, etc.
  • Send emails to each applicant to acknowledge receipt of the resume only and don’t make other statements. (If the candidate appears to be a good candidate for the position, relative to his other applicants, he will contact you to schedule an interview. Otherwise, he will keep your application / resume on file for a year in case other opportunities arise. )
  • Once you have developed a series of applicants for the position, complete a resume and / or applications based on the established prioritized criteria and qualifications.
  • Select applicants after reviewing the applications they have received for a particular job.
  • Determine the candidate’s salary requirements, if not indicated with the application, as requested. (Note that an increasing number of jurisdictions in the US are making this practice illegal, so know the laws where you work.)
  • Schedule qualified candidates, who fits to your salary range,
  • Ask the candidate to complete their official job application upon arrival at the interview.
  • Give the candidate a copy of the job description for review.
  • Conduct evaluation interviews during which the candidate is evaluated and you have the opportunity to learn about their organization and their needs.
  • Complete the Candidate Evaluation Form for each candidate interviewed.
  • Meet to determine which candidates (if any) you will invite again for a second interview.
  • Shortlist the appropriate candidates for the second round of interviews. Only include people with authority who can have a significant impact on the hiring decision.
  • Schedule additional interviews if any.
  • Keep the second round of interviews with each interviewer about the Cultural fit, technical qualifications, client responsiveness, and knowledge are several of the selection responsibilities.
  • Conduct tests for the potential candidates as per position requirement.
  • Interviewers have to fill out the candidate’s evaluation form.
  • HR Checks the final list of candidates (who are considered for offering the position) subject to credentials, references, background checks, and other qualified documents and statements.
  • Anyone who has dishonestly declared their qualifications or fails the background checks is removed from the shortlisted finalists.
  • Throughout the entire interview process, HR and managers, whenever they want, will keep in touch with the most qualified candidates by phone and email.
  • Reach to an agreement on whether the organization wants to select a candidate.
  • HR and the hiring supervisor agree on the offer to be made to the potential candidate, on the approval of the manager and the departmental budget.
  • communicate informally with the potential candidate about whether he or she is interested in the job at the salary offered and under the stated conditions. Make sure the potential candidate agrees to participate in a background check, a drug test, and sign a Non-Competition Agreement or a Confidentiality Agreement, depending on the position. (There should be a signed consent when completing the job application). If so, continue with an offer letter subject to contingent checks.
  • If not, determine if there are negotiable factors that will lead the organization and the candidate to arrive at a reasonable agreement.
  • If informal negotiation leads the management to believe that the candidate is viable and worthy, HR prepares a written offer letter stating the position, salary, reporting relationships, supervisory relationships and any other benefits or commitments that the potential candidate has negotiated or as promised by the company
  • The potential candidate has to be provided with an offer letter, job description, and the Company’s Non-Competition or Confidentiality Agreement.
  • The candidate may accept and sign the offer letter documentation or reject for the position.
  • If accepted, schedule the new employee’s start date. Welcome the new employee after providing the acknowledgement of acceptance of job Offer.
  • If not, start over to review the candidate pool and redevelop a new list if necessary.
Source of Information: EEOC, US Bankruptcy code, EPA, FRCA, IRCA, Civil Rights Act
Note: Information collected is not legal advice nor a substitute for such advice

Laws and Regulations impacting Hiring Process

At Federal level

1. Civil Rights Act of 1964, Title VII

Employers of private establishment with 15 Full-Time Employees (FTEs) or Full-time equivalents and more who fail to hire any individual, or otherwise to discriminate against any individual with respect to his compensation, terms, conditions, or privileges of employment, or to limit, segregate, or classify applicants for employment in any way which would deprive or tend to deprive any individual of employment opportunities because of such individual’s race, color, religion, sex, or national origin shall be considered as an unlawful employment practice.

2. Pregnancy Discrimination Act of 1978 (PDA)

As per PDA, Employers of private establishment with 15 Full-Time Employees (FTEs) or Full-time equivalents and more, as a subset of “gender” for discrimination law purposes which is incorporated by the amendment made in the Title VII statute should not show any discrimination based on pregnancy at the time of hiring and any other terms or conditions of employment.

3. Age Discrimination in Employment Act of 1967 (ADEA)

ADEA prohibits a private employer with 20 and more to discriminate against a person because of his or her age (above 40 years) while hiring with respect to any terms and conditions, or privilege of employment.

Advertisements and Job Notices

It is unlawful to include age preferences, limitations, or specifications in job notices or advertisements. A job notice or advertisement may specify an age limit only in the rare circumstances where age is shown to be a “bona fide occupational qualification” (BFOQ) reasonably necessary to the normal operation of the business.

Pre-Employment Inquiries

The ADEA does not explicitly prohibit any covered employer from asking an applicant’s age or date of birth subject to inquiries which may deter older workers from applying for employment or may otherwise indicate possible intent to discriminate based on age, contrary to the purposes of the ADEA.

4. Americans with Disabilities Act of 1990 (ADA)

ADA prohibits private employers with 15 and more to discriminate on the disability ( as defined by the ADA Law) and treat such applicants less favorably because he or she has a history of a disability or he or she is believed to have a physical or mental impairment that is not transitory.

Disability Discrimination & Reasonable Accommodation

A covered employer cannot discriminate or reject a job applicant with disability for the reason to provide a reasonable accommodation unless doing so would cause significant difficulty or expense for the employer.

Disability & Medical Exams During Employment Application & Interview Stage

The law places strict limits on employers when it comes to asking job applicants to answer medical questions, take a medical exam, or identify a disability.

Disability & Medical Exams After A Job Offer For Employment

After a job is offered to an applicant, the law allows an employer to condition the job offer on the applicant answering certain medical questions or successfully passing a medical exam, but only if all new employees in the same type of job have to answer the questions or take the exam.

Recordkeeping requirements as per ADA

Covered employers have to keep all medical records and information confidential, in separate medical files.

5. Genetic Information Non-discrimination Act of 2009 (GINA)

GINA prohibits private employers with 15 and more to make an employment decision, based on the genetic information provided which is not relevant to an individual’s current ability to work. It is also unlawful for a covered employer to disclose genetic information about applicants, and must keep genetic information confidential, in a separate medical file.

6.Immigration Reform and Control Act of 1986 (IRCA)

This law says, it is an unfair immigration-related employment practice for a covered employer to discriminate against any individual (other than an unauthorized alien) with respect to the hiring of the individual for employment based on national origin or citizenship status

7.U.S. Bankruptcy Code, Section 525

Prohibits employer of any size to discriminate based upon bankruptcy history or bankruptcy claim filing status

8.Civil Rights Act of 1866 (42 U.S.C. §1981)

Prohibits an employer with atleast one employee or more to discriminate based upon race or color (additional cautionary note: some national origin discrimination claims can be turned into race or color discrimination claims, depending upon the circumstances) while hiring another person to perform any kind of work or services for pay (thus, it covers even independent contractor situations)

9.Ban the Box Law

Ban the Box is to provide all job applicants a fair chance by taking out the conviction history question on the job application and delaying the background check inquiry until later in the hiring process. The law prevents employers from using past compensation as a basis for current salary and benefits negotiations with job applicants at the time of hire.

10.Equal Pay Act

While hiring, employers have to satisfy the regulations in understanding a candidate’s compensation history during the interview and application process and it is illegal to pay men more than women for the same work

11.Fair Credit Reporting Act

FRCA requires an employer to draft a separate document asking for approval to conduct a background check that conforms with the Fair Credit Reporting Act, to perform such background checks

At State level

Every employer has to check with their State and Local laws and regulations. Every state in the United States has one or more laws which prohibits all the forms of discrimination covered in the federal laws noted above in the hiring process.. Some states have more regulations for additional protected classifications such as sexual orientation, veteran status, history of filing certain types of claims, and so on.
Source of Information: EEOC, US Bankruptcy code, EPA, FRCA, IRCA, Civil Rights Act
Note: Information collected is not a legal advice nor a substitute for such advice. State and federal laws change frequently and may not reflect your own state’s laws or the most recent changes to the law.

FLSA Compliance and employer’s liability

FLSA sets basic standards for Minimum wages and Overtime Pay, at the same time an employer needs to check with the state laws which have even more stringent requirements of wage and hour laws to follow. The employer covered under FLSA needs to comply with federal as well as State and Local laws and the law that is most beneficial to an employee must be followed. Even a company is insured under Employment practices liability insurance (EPLI) which covers businesses against many claims made by workers, legally where the company(employer) has violated laws in such areas, and still may not cover wage and hour issues. So, in order to be compliant and avoid back wages, an employer has to adhere to the wage and hours requirements for the purposes of FLSA. Generally, the manager or the business(company) owner is more likely to be in an authority position who is liable for wage and hours practices in a company. Their conduct of doing business impacts the good faith of the company, if the employer does willful violations under FLSA may be subject to criminal penalties, including fines and imprisonment. The employer is liable to back pay penalties depending on the seriousness of the violation.

Department of Labor Audits

Authorized representatives from the Wage and Hour Department conduct investigations and gather data on wages, hours worked and other employment conditions or practices, in order to determine an enterprise or employer’s compliance with the FLSA law. Investigators may recommend changes in employment practices where violations are found to bring an employer into compliance.
Note: To fire, or in any other manner, discriminate against an employee for filing a complaint or for participating in a legal proceeding required for the purposes of FLSA regulations is a violation of the FLSA

Penalties for violations of FLSA

  • Employers who willfully or repeatedly violate the minimum wage or overtime pay requirements are subject to a civil money penalty of up to $1,000 for each such violation.
  • Violators of the child labor provisions are subject to a civil money penalty of up to $10,000 for each young worker who was employed in violation.
  • Willful violations of the FLSA may result in criminal prosecution and the violator fined up to $10,000. A second conviction may result in imprisonment.

Tips to be Complaint

The thumb rule for avoiding FLSA non-compliance is to make the best practice of complying with accurate record-keeping, payroll records and time-tracking of employees, the proper classification of employees, and providing applicable FLSA minimum wages and overtime pay threshold to employees in adherence to both federal and state law.
These requirements may seem like very simple and straightforward issues, but in reality, legal requirements are very confusing and often complex when it comes to the point of compliance and these laws are subject to frequent regulatory changes.
Source of Information: https://www.dol.gov/

Fair Labor Standards Act – Overview

FLSA is a federal labor law enforced by the U.S Department of Labor which sets out various labor regulations on minimum wage, overtime pay eligibility, recordkeeping, and child labor standards both in the private and public sectors in the federal, state, and local governments.FLSA protects workers against certain unfair labor practices on wages and hours of work. FLSA is administered by Wage and Hours Division (WHD) of the Department of Labor (DOL)

FLSA Regulations

  1. Employees covered under FLSA are subject to Minimum wages and overtime pay based on the exempt and nonexempt status of the employee
  2. Exemption status of an employee is decided on the standards specified in the FLSA Act and is considered on multiple factors such as
    1. How much money they earn
    2. What type of work they do
    3. Their specific responsibilities and job duties
  3. Covered nonexempt employees are entitled to a minimum wage of not less than $7.25 per hour effective July 24, 2009 subject to both state and federal minimum wage laws, the employee is entitled to the higher minimum wage.
  1. Covered nonexempt employees are entitled and must receive overtime pay for hours worked over 40 per workweek (implies to any fixed and regularly recurring period of 168 hours – seven consecutive 24-hour periods) at a rate not less than one and one-half times the regular rate of pay subject to both state and federal overtime pay laws where the employee is entitled to the higher overtime pay that benefits the employee more.
  2. Exemption for Minimum wages and overtime pay is applicable to employees who are classified as executive, administrative, professional, computer, highly compensated, and outside sales employees.
  3. To qualify for a bona fide exemption, employees generally must meet certain tests regarding their job duties and be paid on a salary basis at not less than $684* per week. Job titles alone do not determine exempt status. An employee is deemed for an exemption if an employee’s specific job duties and salary threshold meet all the requirements of the Department’s regulations as defined in the FLSA Act.
  4. There is no limit on the number of hours employees of 16 years or older may work in any workweek.
  5. The FLSA does not require overtime pay for the employees who work on weekends, holidays, or regular days of rest unless overtime is worked on such days.
  6. Hours worked by an employee ordinarily include all the time during which such employee is required to be on the employer’s premises, on duty, or at a prescribed workplace.
  7. Recordkeeping – Employers must keep employee time (log) and pay records.
  8. Poster requirement – Employers must display an official poster outlining the requirements of the FLSA.
  9. Child labor regulations prohibit individuals younger than eighteen years old from working in certain jobs (Youth employment law) and additionally sets out certain rules concerning the hours and times of employees under sixteen years of age may work.

Employee Benefits

What employee benefits are required by law

Employee benefits can be classified as benefits required by law and voluntary benefits provided by an employer to employees. Legally required benefits include benefits provided to employees and their family members with medical care, retirement income, hardships due to loss of job and disabilities, and liabilities due to workplace illness and injuries.
  • Social Security and Medicare Taxes
  • Unemployment Insurance
  • Workers Compensation Insurance
  • Disability Insurance
  • Family Medical Leave
  • Health Insurance
  • COBRA Benefits
  • Other Benefits

Social Security and Medical Taxes (FICA)

Every employer in the U.S is required to measure up to the employee’s social security and Medicare Tax contributions irrespective of the size of the business. FICA is a federal payroll (employment) tax used to fund Social Security and Medicare. The amount and percentage of contributions from both employers and employees are based on the age of the employee and their earned income.

Unemployment Insurance

Irrespective of the number of employees in a company, the company has to contribute to the unemployment tax requirements. The cost of Unemployment Tax may differ from state to state. Both full-time and part-time employees are covered and entitled to unemployment benefits when such employees are involuntarily separated from the company due to reasons such as Lay-off etc. Companies must have to register with the State Workforce Agency to make payments. Note: Proper documentation has to be recorded for the termination of any employee to avoid the claims against the company for the charges filed by any former employee for a wrongful Termination

Workers Compensation Insurance

Workers’ compensation is very essential to any employer as it gives a replacement and financial aid to employees who are not able to perform regular work due to workplace injury or illness and it protects business owners from potential and legal lawsuits. Different options are available to an employer to select for benefits packages, in which an employer may choose a self-insured plan where the business owner takes the risk of providing benefits or an employer can also claim coverage through their state insurance coverage at a premium rate but it’s consistent.

Disability Insurance

Disability Insurance is a state-specific and mandated in some states where an employee is benefited with Partial wage replacement insurance coverage in an event who suffers from an illness or injury caused by a work not related to employment and stopped him or her to attend his or her regular duties. The businesses operating in the following states such as New York, California, New Jersey, Hawaii, Puerto Rico, and Rhode Island are mandated to provide disability insurance benefits to their employees, whereas in all other states, the employer (business owner) have the option and not mandatory to provide disability insurance benefits to their employees. Generally, the cost of the policy is paid for in full by the employee.

Family Medical Leave

For businesses in private establishments, who employ 50 or more Full-time employees (FTE) or Full-time equivalents are mandated to provide applicable family leave benefits, subject to employees eligible to receive up to 12 weeks of job-protected and unpaid leave for qualifying family and medical reasons, qualifying exigencies during a 12 month period. As per law, Employers are not required to provide any financial compensation to an employee during medical leave. Family medical leave can be used for the events such as childbirth, child adoption, to care for an immediate family member with a serious medical condition, or on the severity of employee’s own medical condition Note: Some states and local jurisdictions require paid family leave and/or paid sick and safe leave. 

Health Insurance

The Affordable Care Act (ACA) enacted in the year 2010 enforces employers of private establishments with employees 50 or more Full-time employees (FTEs) or Full-time equivalents are mandated to offer acceptable health insurance coverage to their FTEs or Full-time equivalents and their dependents. Violation of  ACA requirements leads the employer to face excessive penalties from the government at the time of Tax payments. Employers need to check with the current requirements of ACA benefits coverage and are mandated to satisfy reporting requirements.

Cobra Benefits

COBRA Benefits are required for employers with 20 or more employees who are subject to the Consolidated Omnibus Budget Reconciliation Act of 1985 (COBRA).  COBRA allows the employee to maintain their insurance coverage at the employer’s group rates for a period of up to 18 months. This coverage applies to former employees, former employee spouses, dependent children and retirees

Other benefits

Employees may be entitled to certain more benefits such as 

Time off for/reinstatement after military service

The employers are required to provide with time off or reinstatement of a prior position following military service for applicable employees as per the Uniform Services Employment and Reemployment Rights Act (USERRA)

Time off for jury duty or to vote

Every state mandates his or her employer to provide a required period of Time off for jury duty or to vote for their employees and the regulations for such events may vary from state to state.

Voluntary Benefits at the whole discretion of the employer

There are many more voluntary benefits provided to an employee at the whole discretion of the employer as a best practice and are required to provide as per law and can be added to the benefits package provided to an employee which may include life insurance, retirement savings plans, dental and vision care, wellness programs, and some salary perks, educational assistance, child care assistance, and paid vacation life and disability insurance (in some states, short-term disability leave is mandatory) If an employer has decided to offer retirement planning such as 401(k), they must meet certain rules and regulations set forth by the Employee Retirement Income Security Act (ERISA). Plans subject to ERISA generally include medical, dental, 401, and retirement plans.Note: Employers have to refer to their state and local regulations to check whether they apply to your business Sources: https://www.dol.gov/ http://irs.gov/


GCP Clousd
GCP Clousd

There are good number of cloud providers available in the market. Some are public cloud providers revolves around the service providers that offer software-, platform- and infrastructure-as-a-service offerings. There are many more cloud providers that specialize in some part of the enterprise software stack. This article provides a quick view of cloud provider timeline and top cloud providers.Cloud providers timeline:Top Cloud Vendors (Ranking based on Annual revenue)

Microsoft Azure:

Microsoft Azure is a cloud computing service created by Microsoft for building, testing, deploying, and managing applications and services through a global network of Microsoft-managed data centers. It provides software as a service (SaaS), platform as a service (PaaS) and infrastructure as a service (IaaS) and supports many different programming languages, tools and frameworks, including both Microsoft-specific and third-party software and systems.Website: https://azure.microsoft.com/en-us/Amazon Web Services:

Amazon Web Services (AWS) is a subsidiary of Amazon.com that provides on-demand cloud computing platforms to individuals, companies and governments, on a paid subscription basis. The technology allows subscribers to have at their disposal a full-fledged virtual cluster of computers, available all the time, through the Internet.Website: https://aws.amazon.com/IBM Bluemix:

IBM Bluemix is a cloud platform as a service (PaaS) developed by IBM. It supports several programming languages and services as well as integrated DevOps to build, run, deploy and manage applications on the cloud. Bluemix is based on Cloud Foundry open technology and runs on SoftLayer infrastructure. Bluemix supports several programming languages including Java, Node.js, Go, PHP, Swift, Python, Ruby Sinatra, Ruby on Rails and can be extended to support other languages such as Scala through the use of buildpacks.Website:https://www.ibm.com/cloud/Oracle:

Oracle Cloud is a cloud computing service offered by Oracle Corporation providing servers, storage, network, applications and services through a global network of Oracle Corporation managed data centers. The company allows these services to be provisioned on demand over the Internet.Website:https://cloud.oracle.com/homeGoogle Cloud Platform/G Suite:

Google Cloud Platform, offered by Google, is a suite of cloud computing services that runs on the same infrastructure that Google uses internally for its end-user products, such as Google Search and YouTube. Alongside a set of management tools, it provides a series of modular cloud services including computing, data storage, data analytics and machine learning.Website:https://cloud.google.com/Alibaba:

Alibaba Cloud, a subsidiary of Alibaba Group, is a global cloud computing company. Alibaba Cloud provides a comprehensive suite of global cloud computing services to power both international customers’ online businesses and Alibaba Group’s own e-commerce ecosystem. Alibaba Cloud’s international operations are registered and headquartered in Singapore, and the company has international teams stationed in Dubai, Frankfurt, Hong Kong, London, New York, Paris, San Mateo, Seoul, Singapore, Sydney and Tokyo.Website:https://www.alibabacloud.com/References:https://www.zdnet.com/article/cloud-providers-ranking-2018-how-aws-microsoft-google-cloud-platform-ibm-cloud-oracle-alibaba-stack/https://medium.com/@dougpollei/there-can-be-only-one-37667ff80647



I am reading for GCP Architect exam and I have been going through many blogs/sites where there are good number of information is available. I would like to consolidate all my reading and would like to share with you, so that anyone who is preparing exam in future may find it useful.Let’s start with some basic understanding of cloud.What is cloud computing?Cloud computing is an information technology (IT) paradigm that enables ubiquitous access to shared pools of configurable system resources and higher-level services that can be rapidly provisioned with minimal management effort, often over the Internet.Benefits of cloud computing“Pay-as-you-go” basis, use only what you need

Also known as ‘on demand’ computing

Convert capital expenses into operating expensesFocus on rapid innovationProductivity enhanced due to no software installed“Vertically integrated” stacks enhance functionality, performance, reliability, and securityCloud computing deployment models

Types of cloud computing servicesAlthough cloud computing has changed over time, it has been divided into three broad service categories: infrastructure as a service (IaaS), platform as a service (PaaS) and software as a service (SaaS).

In next part, we will explore different available cloud platforms.References:https://searchcloudcomputing.techtarget.com/definition/cloud-computing


I am reading through “Artificial Intelligence Now” book by O’Reilly media, and the information provided is very useful. I thought of sharing my experiences and learning in this series.The very first thing that makes me excited is the way the AI landscape is growing year by year (Please see below)

Source: http://www.shivonzilis.com/ , Please go through this. This is an excellent article shared on AI

The journey from Vanilla Neural network to BERT architecture (NLU)


Natural language understanding (NLU) is the ability of machines to understand human language.

NLU refers to how unstructured data is rearranged so that machines may “understand” and analyze it.

On the other hand, we have BERTOne of the most path-breaking developments in the field of NLU; a revolutionary NLP model that is superlative when compared with traditional NLP models.

Below, I have tried to briefly describe the journey from Vanilla Neural network to BERT architecture to achieve real-time NLU.

The above figure shows lots of activities. As we will explore more about it we will see, Every succeeding architecture has tried to overcome the problems of previous architecture and has tried to understand the language more accurately.

Let’s explore them(for examples, we have taken a basic QA system as a scenario):

Vanilla Neural Network

An artificial neural network consists of a collection of simulated neurons. Each neuron is a node that is connected to other nodes via links that correspond to biological axon-synapse-dendrite connections. Each link has a weight, which determines the strength of one node’s influence on another.

But, A vanilla neural network takes in a fixed size vector as input which limits its usage in situations that involve a ‘series’ type input with no predetermined size. (e.g.: In case of QA System, Question can only be of 30 words)

Recurrent Neural Network

Recurrent Neural Networks (RNNs) add an interesting twist to basic neural networks. RNNs are designed to take a series of inputs with no predetermined limit on size. (i.e.: Question can be of any length).

But Recurrent Neural Networks also suffers from short-term memory. If a sequence is long enough, they’ll have a hard time carrying information from earlier time steps to later ones. So if you are trying to process a paragraph of text to do predictions, RNN’s may leave out important information from the beginning.


LSTM ’s and GRU’s were created as the solution to short-term memory. They have internal mechanisms called gates that can regulate the flow of information.

Encoder-Decoder Sequence to Sequence LSTM based RNNs

Encoder-Decoder or Sequence to Sequence RNN is used a lot in translation services. The basic idea is that there are two RNNs, one an encoder that keeps updating its hidden state and produces a final single “Context” output. This is then fed to the decoder, which translates this context to a sequence of outputs. Another key difference in this arrangement is that the length of the input sequence and the length of the output sequence need not necessarily be the same.

Click below for visual presentation:


The main issue with this encoder-decoder approach is that a neural network needs to be able to compress all the necessary information of a source sentence into a fixed-length vector/context vector. This turned out to be a bottleneck for these types of models. It made it challenging for the models to deal with long sentences.

Click below for visual presentation:


How to overcome the above limitation:


A solution was proposed in Bahdanau et al., 2014 and Luong et al., 2015. These papers introduced and refined a technique called “Attention”. Instead of passing the last hidden state of the encoding stage, the encoder passes all the hidden states to the decoder

Click below for visual presentation:


“Transformer”: Multi-Head Self Attention

In the paper “Attention Is All You Need”, Google introduced the Transformer, a neural network architecture based on a self-attention mechanism that believed to be particularly well suited for language understanding.

The Transformer allows for significantly more parallelization and can reach a new state of the art in translation quality

The attention mechanism in the Transformer is interpreted as a way of computing the relevance of a set of values(information)based on some keys and queries


Unlike the unidirectional language model, BERT uses a bidirectional Transformer. As a result, the pre-trained BERT model can be fine-tuned with just one additional output layer to create state-of-the-art models for a wide range of tasks, such as question-answering

BERT Structure for QA System:


As the complexity of the model is increasing, we need more data to train it. In the case of BERT, Google has already trained it on millions of data points and has released all the checkpoints publicly. We can use those checkpoints at the initial level to understand the language. Then we can fine-tune that model as per our requirement with our data to make it more accurate.


Attention —— Visualizing A Neural Machine Translation Model (Mechanics of Seq2seq Models With Attention)

Rasa (contextual AI assistants)

Rasa is an open source machine learning framework for building AI text- and voice-based assistants. Rasa provides a set of tools to build a complete chatbot at your local desktop and completely free.

Why rasa?

Rasa is a contextual AI assistant that can capture the context of what the user is talking about, capable of understanding and responding to different and unexpected inputs and also gracefully handle unexpected dialogue turns.

Rasa consists of two main components:

  *Rasa NLU

  *Rasa Core

Rasa NLU:

Rasa NLU is something like an ear to your assistant which enables the assistant to understand what has been said by the user.

It takes input from the user which is unstructured and extracts structured data in the form of intents and entities (LABELS).


An intent represents the purpose of a user’s input. You define an intent for each type of user request you want your application to support.



·   Intent: searching restaurants

·  What are the non veg restaurants present in Hyderabad?    

           I am looking for veg restaurants in pune?

·  Are there any vegetarian restaurants in Chennai?

 The above questions come under the intent: “searching restaurants” if a user asks any similar kind of questions the assistant will classify the intent as “searching restaurants”. More the data better the bot would get trained.


     This process of extracting the different required pieces of information from a user text is called entity recognition.

 From the above example “Are there any vegetarian restaurants in Chennai?” the entities extracted would be

  Chennai=location, Restaurants=facility type.

    By using this Intent and entities assistant can understand what the user is talking about.

 Rasa NLU file:

Rasa Core:

  Rasa Core is also called Dialogue management. It is something like the brain of the system.

           Rasa, instead of creating rules, uses machine learning to learn conversational patterns from the example conversational data and predicts how an assistant should respond based on the context, history of conversation and other details.

·        The train data in dialogue management is called stories.

·        The story starts with a double hashtag(##) which marks the name of the story

·        Messages sent by the user are shown as lines starting with the asterisk symbol

The responses of the assistant are expressed as action names. There are two types of actions in rasa “utterances” and “custom actions”

Utterances actions are hardcore messages that a bot can respond with. Custom actions, on the other hand, involve custom code being executed.

The custom code can be anything, some kind of back end integration like making an API call or connecting to the database and extracting required information.

       All actions (both utterance actions and custom actions) executed by the   assistant are shown as lines starting with EN Dash (-) followed by the name of the action

Stories file:  


·  A domain is a very important part of building a dialogue management model.

·  Domain file need to contain all the intents, entities, and actions that are mentioned in the NLU and stories files.

·  Domain file also contains “responses


  ·  This is where you can define the actual response an assistant will use to respond when specific utterances are predicted.

·   Each utterance can have more than one template and can include things like images etc.

· The custom action code should be written in an action.py file.

Rasa workflow:

 Choosing a Pipeline:

             To enable our assistant to understand the intents and extract the entities which we defined in our NLU file we have to build a model that is done by processing a pipeline.

There are two pre-configured pipelines in rasa:

·        Pre-trained embeddings spacy

·        supervised embeddings

pre-trained embeddings spacy:

    ·  It can Perform well with less amount of training data

·           Not available for all the languages.

·           If the chatbot is related to domain-specific then pre-trained embeddings     spacy pipeline is not a good choice.

Supervised embeddings:

    ·          The models will pick up domain specific vocabulary.

     ·          It can build assistants in any language.

·           It has the advantage of handling messages with multiple intents.

·           Needs more training data.

Training the Model:

As our NLU, stories, domain files, and pipeline are ready, we are good to go and train our model by running the scripts in the terminal. Once the training is done. The model will be saved in the models folder.

After training is done, chat with the assistant, check whether it’s correctly predicting the entities and intents from the user input and take different dialogue turns to see whether it can handle or not if it is not able to handle you need to re-train the model by making necessary changes in the required files.

There are some more important things such as slots, trackers, rasa interactive, rasa x, fallback actions, etc.  This will be covered in the next part of the article.