Skip to content

Data-Science-East-AFrica/Natural-Language-Processing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Introduction To Natural Language Processing.

Starter Slides: https://docs.google.com/presentation/d/1h5GwGwQorU5RpP7x8WTtXGofQkOpUmHfttW31Yiprjk/edit?usp=sharing

Natural Language Processing (NLP) is a branch of Artificial Intelligence (AI) that is concerned with the interactions made between computers and natural language. Essentially, by analyzing and representing natural language computationally, computers are capable of understanding natural language and responding in a way similar to a human.

Taking a practical approach is by far the greatest way to keep testing yourself whilst gaining experience of what it’s like to work in a real-world environment.

5 ideas for your next NLP project:

1). Conversational AI

Chatbots and voice assistants fall into the category of Conversational AI. Conversational AI permits Artificial Intelligence (AI) to interact with natural language in a human-like way.

There are various use cases for chatbots in enterprises. Some examples include:

  • Customer Support — Online chatbots are superb at answering frequently asked questions, hence they are replacing many human agents along the customer journey.

  • Healthcare — Babylon Health in the UK is a great example of how conversational AI is making health care services more affordable and accessible to patients.

  • HR Processes — With the Covid-19 lockdown, many people are working from home but companies are still hiring, meaning employee training and onboarding are still necessary. These processes can be optimized with Conversational AI.

2). Autocomplete and Autocorrect

Autocomplete and autocorrect have both come to my aid on numerous occasions. I’m sure we’ve all typed “omw” on our smartphone for it to automatically be changed to “on my way!” or were on the verge of misspelling a word an autocorrect chimes in to save the day.

Google’s search engine is a great example of both autocomplete and autocorrect. When we type something into its search engine mechanism, google would scour the internet and return the most relevant results.

These technologies help users find much more accurate results and the crazy thing about it is the majority of us use google everyday hence we expect these features to be there once we click on a search box. To continuously keep up with customer expectations, both autocomplete and autocorrect are valuable applications of NLP to integrate with many businesses therefore making it a really great project to implement.

3). Text Generation

Technically speaking, text generation falls under Natural Language Generation (NLG) which is a subfield of Natural Language Processing (NLP). Wikipedia describes NLG as “a software process that transforms structured data into natural language. It can be used to produce long-form content for organizations to automate custom reports, as well as produce custom content for a web or mobile application.”[Source: Wikipedia].

4). Named Entity Recognition

Named-entity recognition is a subtask of information extraction that seeks to locate and classify named entities mentioned in unstructured text into pre-defined categories such as person names, organizations, locations, medical codes, time expressions, quantities, monetary values, percentages, etc. [Source: Wikipedia]. Named-entity Recognition (NER) is extremely valuable in any situation in which a high-level overview of a large document is required. By implementing NER you can easily gather the gist of a body of text and begin to group the documents based on certain criteria such as the relevance or similarity to other text. Some use cases include: Customer Assistance — Customer's requests would be categorized into suitable headings and keywords would be extracted to determine the priority of the request to helps speed up response times. Recruitment — Instead of having humans parse numerous CVs, we can use NER to summarize applicant's resumes and begin to categorize them into suitable hires and unsuitable.

5). Sentiment Analysis

In Getting Started with Sentiment Analysis, I stated that “The goal of sentiment analysis is to interpret and classify subjective data using natural language processing and machine learning.”. Many examples of this type of problem are performed using customer feedback and twitter data but you could use any type of text where people voice their opinions or experiences.

Wrap Up

Projects are probably more viable than a CV in this day and age. If you wish to learn a new technology or break into a new field, getting hands-on with a project is the best way to get ahead. Be sure to learn from your mistakes and don’t be afraid to ask for help when you’re stuck on something. Thanks for reading! Connect with me on LinkedIn and on Twitter to stay up to date with my posts on Data Science, Artificial Intelligence, and Freelancing.

Hands On Practtice With NLTK

Installing NLTP

pip install nltk

Load the Package and install all NLTK.

import nltk

nltk.download()

- NLTK Sentence Tokenizer.

text="Today is a great day. It is even better than yesterday. And yesterday was the best day ever."
from nltk.tokenize import sent_tokenize
sent_tokenize(text)