Trending December 2023 # Build A Natural Language Generation (Nlg) System Using Pytorch # Suggested January 2024 # Top 20 Popular

You are reading the article Build A Natural Language Generation (Nlg) System Using Pytorch updated in December 2023 on the website Daihoichemgio.com. We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested January 2024 Build A Natural Language Generation (Nlg) System Using Pytorch

Overview

Introduction to Natural Language Generation (NLG) and related things-

Data Preparation

Training Neural Language Models

Build a Natural Language Generation System using PyTorch

Introduction

Hence, to capture the sequential information present in the text, recurrent neural networks are used in NLP. In this article, we will see how we can use a recurrent neural network (LSTM), using PyTorch for Natural Language Generation.

If you need a quick refresher on PyTorch then you can go through the article below:

And if you are new to NLP and wish to learn it from scratch, then check out our course:

Table of Contents

A Brief Overview of Natural Language Generation (NLG)

Text Generation using Neural Language Modeling

– Text Generation

Natural Language Generation using PyTorch

A Brief Overview of Natural Language Generation

Natural Language Generation (NLG) is a subfield of Natural Language Processing (NLP) that is concerned with the automatic generation of human-readable text by a computer. NLG is used across a wide range of NLP tasks such as Machine Translation, Speech-to-text, chatbots, text auto-correct, or text auto-completion.

We can model NLG with the help of Language Modeling. Let me explain the concept of language models – A language model learns to predict the probability of a sequence of words. For example, consider the sentences below:

We can see that the first sentence, “the cat is small”, is more probable than the second sentence, “small the is cat”, because we know that the sequence of the words in the second sentence is not correct. This is the fundamental concept behind language modeling. A language model should be able to distinguish between a more probable and a less probable sequence of words (or tokens).

Types of Language Models

The following are the two types of Language Models:

Statistical Language Models: These models use traditional statistical techniques like N-grams, Hidden Markov Models (HMM), and certain linguistic rules to learn the probability distribution of words.

Neural Language Models: These models have surpassed the statistical language models in their effectiveness. They use different kinds of Neural Networks to model language.

In this article, we will focus on RNN/LSTM based neural language models. If you want a quick refresher on RNN or LSTM then please check out these articles:

Text Generation using Neural Language Modeling Text Generation using Statistical Language Models

First of all let’s see how we can generate text with the help of a statistical model, like an N-Gram model. To understand how an N-Gram language model works then do check out the first half of the below article:

Suppose we have to generate the next word for the below sentence:

However, there are certain drawbacks of using such statistical models that use the immediate previous words as context to predict the next word. Let me give you some extra context.

Now we have some more information about what’s going on. The term “sandcastle” is very likely as the next word because it has a strong dependency on the term “beach” because people build sandcastles on beaches mostly right. So, the point is that “sandcastle” does not depend on the immediate context (“she built a”) as much as it depends on “beach”.

Text Generation using Neural Language Models

To capture such unbounded dependencies among the tokens of a sequence we can use an RNN/LSTM based language model. The following is a minimalistic representation of the language model that we will use for NLG:

x1, x2, and x3 are the inputs word embeddings at timestep 1, timestep 2, and timestep 3 respectively

ŷ1, ŷ2, and ŷ3 are the probability distribution of all the distinct tokens in the training dataset

y1, y2, and y3 are the ground truth values

U, V, and W are the weight matrices

and H0, H1, H2, and H3 are the hidden states

We will cover the working of this neural language model in the next section.

Understanding the Functioning of Neural Language Models

We will try to understand the functioning of a neural language model in three phases:

Data Preparation

Model Training

Text Generation

1. Data Preparation

Let’s assume that we will use the sentences below as our training data.

  ‘what is the price difference’]

The first sentence has 4 tokens, the second has 3 and the third has 5 tokens. So, all these sentences have varying lengths in terms of tokens. An LSTM model accepts sequences of the same length only as inputs. Therefore, we have to make the sequences in the training data have the same length.

There are multiple techniques to make sequences of equal length.

One technique is padding. We can pad the sequences with padding tokens wherever required. However, if we use this technique then we will have to deal with the padding tokens during loss calculation and text generation.

So, we will use another technique that involves splitting a sequence into multiple sequences of equal length without using any padding token. This technique also increases the size of the training data. Let me apply it to our training data.

Let’s say we want our sequences to have exactly three tokens. Then the first sequence will be split into the following sequences:

‘that is perfect’ ]

The second sequence is of length three only so it will not be split. However, the third sequence of the training data has five tokens and it will be broken down into multiple sequences of tokens:

‘the price difference’ ]

Now the new dataset will look something like this:

‘the price difference’ ]

2. Model Training

Since we want to solve the next word generation problem, the target should be the next word to the input word. For example, consider the first text sequence “alright that is”.

As you can see, with respect to the first sequence of our training data, the inputs to the model are “alright” and that”, and the corresponding target tokens are “that” and “is”. Hence, before starting the training process, we will have to split all the sequences in the dataset to inputs and targets as shown below:

So, these pairs of sequences under Input and Target are the training examples that will be passed to the model, and the loss for a training example will be the mean of losses at each timestep.

Let’s see how this model can then be used for text generation.

3. Text Generation

Once our language model is trained, we can then use it for NLG. The idea is to pass a text string as input along with a number of tokens you the model to generate after the input text string. For example, if the user passes “what is” as the input text and specifies that the model should generate 2 tokens, then the model might generate “what is going on” or “what is your name” or any other sequence.

Let me show you how it happens with the help of some illustrations:

n = 2

Step 1 – The first token (“what”) of the input text is passed to the trained LSTM model. It generates an output ŷ1 which we will ignore because we already know the second token (“is”).  The model also generates the hidden state H1 that will be passed to the next timestep.

Step 2 – Then the second token (“is”) is passed to the model at timestep 2 along with H1. The output at this timestep is a probability distribution in which the token “going” has the maximum value. So, we will consider it as the first generated or predicted token by our model. Now we have one more token left to generate.

Step 3 – In order to generate the next token we need to pass an input token to the model at timestep 3. However, we have run out of the input tokens, “is” was the last token that generated “going”. So, what do we pass next as input? In such a case we will pass the previously generated token as the input token.

The final output of the model would be “what is going on”. That is the text generation strategy that we will use to perform NLG. Next, we will train our own language model on a dataset of movie plot summaries.

Natural Language Generation using PyTorch

Now that we know how a neural language model functions and what kind of data preprocessing it requires, let’s train an LSTM language model to perform Natural Language Generation using PyTorch. I have implemented the entire code on Google Colab, so I suggest you should use it too.

Let’s quickly import the necessary libraries.

View the code on Gist.

1. Load Dataset

We will work with a sample of the CMU Movie Summary Corpus. You can download the pickle file of the sample data from this link.

View the code on Gist.

You can use the code below to print five summaries, sampled randomly.

# sample random summaries random.sample(movie_plots, 5) 2. Data Preparation

First of all, we will clean our text a bit. We will keep only the alphabets and the apostrophe punctuation mark and remove the rest of the other elements from the text.

# clean text movie_plots = [re.sub("[^a-z' ]", "", i) for i in movie_plots]

It is not mandatory to perform this step. It is just that I want my model to focus only on the alphabet and not worry about punctuation marks or numbers or other symbols.

Next, we will define a function to prepare fixed-length sequences from our dataset. I have specified the length of the sequence as five. It is a hyperparameter, you can change it if you want.

View the code on Gist.

So, we will pass the movie plot summaries to this function and it will return a list of fixed-length sequences for each input.

View the code on Gist.

Output: 152644

Once we have the same length sequences ready, we can split them further into input and target sequences.

View the code on Gist.

Now we have to convert these sequences (x and y) into integer sequences, but before that, we will have to map each distinct word in the dataset to an integer value. So, we will create a token to integer dictionary and an integer to the token dictionary as well.

View the code on Gist.

Output: (14271, ‘the’)

# set vocabulary size vocab_size = len(int2token) vocab_size

Output: 16592

The size of the vocabulary is 16,592, i.e., there are over 16,000 distinct tokens in our dataset.

Once we have the token to integer mapping in place then we can convert the text sequences to integer sequences.

View the code on Gist.

3. Model Building

We will pass batches of the input and target sequences to the model as it is better to train batch-wise rather than passing the entire data to the model at once. The following function will create batches from the input data.

View the code on Gist.

Now we will define the architecture of our language model.

View the code on Gist.

The input sequences will first pass through an embedding layer, then through an LSTM layer. The LSTM layer will give a set of outputs equal to the sequence length, and each of these outputs will be passed to a linear (dense) layer on which softmax will be applied.

View the code on Gist.

Output:

)

Let’s now define a function that will be used to train the model.

View the code on Gist.

# train the model train(net, batch_size = 32, epochs=20, print_every=256)

I have specified the batch size of 32 and will train the model for 20 epochs. The training might take a while.

4. Text Generation

Once the model is trained, we can use it for text generation. Please note that this model can generate one word at a time along with a hidden state. So, to generate the next word we will have to use this generated word and the hidden state.

View the code on Gist.

The function sample( ) takes in an input text string (“prime”) from the user and a number (“size”) that specifies the number of tokens to generate. sample( ) uses the predict( ) function to predict the next word given an input word and a hidden state. Given below are a few text sequences generated by the model.

sample(net, 15) Output:

‘it is now responsible by the temple where they have the new gospels him and is held’

sample(net, 15, prime = "one of the") Output:

‘one of the team are waiting by his rejection and throws him into his rejection of the sannokai’

sample(net, 15, prime = "as soon as") Output:

‘as soon as he is sent not to be the normal warrior caused on his mouth he has’

sample(net, 15, prime = "they") Output:

‘they find that their way into the ship in his way to be thrown in the’

End Notes

Natural Language Generation is a rapidly maturing field and increasingly active field of research. The methods used for NLG have also come a long way from N-Gram models to RNN/LSTM models and now transformer-based models are the new state-of-the-art models in this field.

To summarize, in this tutorial, we covered a lot of things related to NLG such as dataset preparation, how a neural language model is trained, and finally Natural Language Generation process in PyTorch. I suggest you try to build a language model on a bigger dataset and see what kind of text it generates.

In case you are looking for a roadmap to becoming an expert in NLP read the following article-

Related

You're reading Build A Natural Language Generation (Nlg) System Using Pytorch

How Natural Language Processing In Healthcare Is Used?

Natural Language Processing in Healthcare: Enhancing Patient Care and Clinical Operations INTRO

Natural Language Processing (NLP) is a subfield of artificial intelligence (AI) that focuses on the interaction between computers and humans through natural language. It has numerous applications in different industries, including healthcare. The healthcare industry generates a vast amount of data that can be challenging to process and analyze without the assistance of technology. NLP has the potential to revolutionize the healthcare industry by improving the quality of care, reducing costs, and increasing efficiency. In this article, we will explore how NLP is used in healthcare.

Improving Patient Care

One of the primary benefits of NLP in healthcare is its ability to improve patient care. Healthcare professionals can use NLP to extract relevant information from patient records, such as medical history, medication allergies, and previous diagnoses. This information can be used to develop personalized treatment plans for patients. NLP can also help identify patients who are at high risk of developing certain conditions, allowing healthcare professionals to intervene early and prevent the development of the disease.

Enhancing Medical Research

NLP can also be used to analyze vast amounts of medical data to identify patterns and trends. This can help researchers develop new treatments and therapies. For example, NLP can be used to analyze patient data to determine which treatments are most effective for certain conditions. It can also help identify the side effects of different medications, allowing researchers to develop safer and more effective treatments.

Improving Clinical Trials

NLP can also be used to improve clinical trials by making the recruitment process more efficient. Clinical trials require a large number of participants and finding suitable candidates can be time-consuming and expensive. NLP can be used to analyze patient data to identify suitable candidates for clinical trials, reducing the time and cost required to recruit participants.

Improving the recruitment process is just one of the ways NLP can benefit clinical trials. By analyzing patient data, NLP can help identify patients who meet the specific inclusion criteria for a clinical trial. This process can be time-consuming and labor-intensive if done manually, but NLP can speed up the process significantly.

NLP algorithms can sift through a large amount of data and extract information relevant to the clinical trial. This information can include medical history, previous diagnoses, medication usage, and other factors that might make a patient suitable for a particular trial. By automating this process, researchers can save time and money while increasing the likelihood of finding suitable participants.

Enhancing Electronic Health Records (EHRs)

NLP can also be used to improve the accuracy and completeness of electronic health records (EHRs). EHRs are digital versions of patient medical records that contain information about a patient’s medical history, diagnosis, and treatment plan. NLP can help healthcare professionals extract relevant information from these records, ensuring that they are accurate and up-to-date. This can help improve patient care by providing healthcare professionals with the information they need to make informed decisions about a patient’s treatment plan.

Assisting Healthcare Professionals

NLP can also be used to assist healthcare professionals in their day-to-day tasks. For example, it can be used to transcribe physician notes, allowing them to focus on patient care instead of documentation. It can also be used to identify potential drug interactions and side effects, allowing healthcare professionals to adjust a patient’s treatment plan accordingly.

NLP has the potential to assist healthcare professionals in a wide range of day-to-day tasks. Here are some of the most significant examples:

Transcribing physician notes:

NLP can be used to transcribe physician notes, which is a time-consuming and often error-prone task. By using NLP to transcribe notes, healthcare professionals can save time and reduce errors, allowing them to focus on providing patient care instead of documentation.

Extracting information from medical literature:

Magician: A System Monitor App That Is Actually Worth Using

What is Magican’s Mission?

The free software, Magican, is meant to not only let you know the software that is wearing down your system, but also to help you get rid of the software itself. The main focus of Magican is on the memory aspect of your Mac, allowing you to free up your memory that various files and applications seem to take up. For example, when you create a video in iMovie, the software saves various parts of your clip into various pieces of cache, as a way of backing up your video. Once you have the finished video product, these caches are no longer necessary, but you have no idea where to remove them. Magican is here to get rid of these unnecessary pieces for you.

Interface

Magican can either be viewed in a full screen or in a smaller page. Magican is meant to not intrude too much on your desktop and allows you to work on what you have to in the background. Magican allows you to see how much memory is used, how much is free, your CPU status, system temperature, and fan speed. At the top right, you have the ability to access the settings. When Magican is left in the background, a window is always there to show the amount of kilobytes per sec being transferred. Also, in an initiative to be more useful, Magican gives you the local weather in your area. That’s a nice touch, though not very much relevant to what it does.

Features

The most common occurrence, even for a system with few applications, is overheating. It occurs to me a lot, especially when I’m hard working on new posts or editing a photo or video. Occasionally, I notice that the fan goes off and that’s when it becomes a bit nerve wrecking. What is good about Magican is that it lets you know when your system is close to that point. For many individuals, they may not know what to do when their fan goes off. However, this is a sign that your Mac is winded and needs a bit of a break. If you must work, at least close other applications that are not required to reduce the processor burden.

Scanning Your System Suggesting and Informing

If you haven’t had enough junk to get rid of, Magican gives you more software suggestions in the Software section. The software suggestions aren’t junk or games, they are other cleaning software that allows your Mac to stay in tip-top shape. The updates section gives you information on which one of your own third part applications (games and other apps included) that are in need of an update. You may wonder why this is in a cleaning app, but it’s often overlooked about the value of a software update. When you don’t update software, you are opening yourself to a less secure app. Lastly, the uninstall section allows you to uninstall other apps (even if they aren’t junk) one at a time. Lastly, just how a doctor gives you a final bill of health, Magican gives you a final checklist of your hardware status. Magican allows you to see any problem areas, the status of your memory, and more, all in simple and easy to understand terms.

What We Liked and Didn’t Like

I loved how Magican seemed to magically be able to provide all of the information I needed to know about my Mac. I am able to delete unneeded applications and files which helped to keep my Mac’s performance in check. Did I also mention before that it is free?

Ari Simon

Ari Simon has been a writer with Make Tech Easier since August 2011. Ari loves anything related to technology and social media. When Ari isn’t working, he enjoys traveling and trying out the latest tech gadget.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Sign up for all newsletters.

By signing up, you agree to our Privacy Policy and European users agree to the data transfer policy. We will not share your data and you can unsubscribe at any time.

Programming Language Vs Scripting Language: Key Differences

Here is the major difference between programming language vs scripting language

Many individuals are unaware of the distinctions between scripting languages and programming languages, and they frequently use the phrases interchangeably. They may sound similar, yet they are extremely different. Anyone interested in entering the realm of software development must understand the distinctions between scripting language and programming language. Recent innovations in the programming world, however, have blurred the boundary between them.

Both languages are utilised in the development of software. All scripting languages may be used as programming languages, but not the other way around. The main distinction is that scripting languages are interpreted rather than compiled. Before the introduction of scripting languages, programming languages were used to create software such as Microsoft PowerPoint, Microsoft Excel, Internet Explorer, and so on. However, there was a need for languages to have new functions, which led to the development of scripting languages. Let us now examine the distinctions between scripting languages and programming languages in further depth. Here we will explore the difference between programming language vs scripting language.

Programming Language

A programming language is used to communicate with computers to create desktop software, internet, and mobile apps. It is a set of instructions intended to achieve a certain aim. Programming languages include C, C++, Java, and Python, to name a few. Programming languages typically include two components: syntax (form) and semantics (meaning).

Key Features of Programming Language

Simplicity: Most current languages, such as Python, have a straightforward learning curve. There is generally a compromise between a language’s simplicity and its speed and abstraction.

Structure: Every programming language has a present structure, such as syntax, semantics, a set of rules, and so on.

Abstraction: It refers to the programming language’s ability to conceal intricate features that may be superfluous for consumers. It is one of the most significant and necessary characteristics of object-oriented programming languages.

Efficiency: Programming languages are translated and executed effectively to prevent wasting too much memory or taking too long.

Portability: Because programming languages are portable, they should be easy to transfer from one machine to another.

Scripting Language

A scripting language is a programming language that is specially designed for use in runtime settings. It automates work completion. They are employed in system administration, web development, gaming, and the creation of plugins and extensions. These are interpretive languages. Scripting languages are generally open-source languages that are supported by practically every platform, which implies that no special software is necessary to run them because they are a series of instructions that are executed without the aid of a compiler.

Key Features of Scripting Language

Easy to learn and use: They are simple to learn and apply. JavaScript and PHP are two of the most user-friendly scripting languages.

Open-source and free: All they have to do now is research them and incorporate them into their current system. They’re all open-source, which means that anybody on the planet can help shape them.

Powerful and extensible: enough so that the relevant tasks may be completed using the scripts. Scripting languages are also quite adaptable.

Lighter memory requirements: They are interpreted rather than compiled, unlike programming languages. As a result, they demand less memory from the computers that operate them.

Runtime Execution: A system that allows code to be run during runtime allows an application to be configured and adjusted while it is running. In reality, this capability is the most crucial characteristic that makes scripting languages so useful in most applications.

How To Build A Multimillion

Multimillion-dollar companies don’t guess.

Timing and luck can often explain a lot in the early days.

But when companies pass a certain threshold, and the people inside them repeat their success at multiple different places, it shows there are proven roadmaps to follow.

Not cheesy checklists or ‘guru’ charlatan soundbites.

But legitimate strategies, principles, and decision-making criteria that more often than not move the needle.

Here’s how several multimillion-dollar companies use SEO content audits to lay that foundation and consistently grow month over month, year over year.

1. Start by Auditing Your Historical Performance to Uncover the Biggest Opportunities

Sales is a lagging indicator.

In other words, it’s impossible to address the bottom line – the output – until you first start fiddling with the inputs.

Gaetano DiNardi’s first task after joining Nextiva a few months ago was a competitive audit.

And it’s been the first task he’s used at every company before that, too.

In early 2023, DiNardi joined the Pipedrive team as the new SEO manager.

While leading Pipedrive’s SEO strategy and operations, he was tasked with improving everything from rankings to traffic, sales, and their overall bottom line.

“My entire job was based around inbound marketing. SEO, content marketing, inbound lead generation. The goal was simple: grow.”

The first step was figuring out what was already working, what wasn’t, and where the biggest opportunities were buried.

That takes into account:

Landing pages: Length, content, CTAs, value proposition, user flow.

Content rankings: Looking at SERP positions, competitors, links needed, and content updates required.

Keyword research: Analyzing which keywords they were targeting and finding new long-tail variations.

Ignoring vanity metrics: With SEO data analysis, he focused all of his efforts on improving the cost of acquisition and lifetime value.

Site structure: How users flow on site and where major drop-offs were occurring.

Content audit: Looking at content, cutting and deleting content that isn’t valuable, and finding what he could improve based on best practices.

Brand building campaigns: Getting mentioned in major publications like Fortune, Entrepreneur, Huffington Post, Inc., VentureBeat, and LinkedIn Business to help build Sales Hacker and his personal branding.

He started by focusing on landing pages, improving their calls-to-action and value proposition along with CRO elements to encourage conversions. Doing so increased overall conversions by 12%.

While looking at site structure, DiNardi used Google Analytics reports to analyze and optimize user flow throughout the site:

With these reports, he determined the typical path of unique visitors and how they developed brand awareness, including which posts they viewed and how many steps it took them to convert.

A traffic channel or source, for instance, gives you clues into what each visitor wants and how to help them find it.

Plus, he could then see major drop-off points and which pages were leaking visitors, giving him an easy win to eliminate those content pages or better match search intent to make them stickier.

Diving into the content audit, Gaetano focused on ensuring that each post met the best practices for content length, topic, structure, and quality.

Running skyscraper-style campaigns for content improved the length. Then, DiNardi also honed-in on quality, updating content at scale with semantic keywords and relying on automated grammar tools to reduce redundant points.

This tactic resulted in a 4-5% increase in conversions from organic search, a 20% increase in traffic, and a doubled organic keyword growth.

“Account audits are a must. You can’t know what to attack first if you don’t audit existing strategies and see what type of content you are working with.”

Uncovering these issues and opportunities is only the first step, though. The next one is to figure out when, exactly, to address each.

2. Consistently Re-Prioritize Your Content Audit Opportunities to Do the Right Thing at the Right Time

Advertising used to be cost-prohibitive. So, too, was PR.

The problem isn’t having options, then. In fact, it’s the opposite. There are literally too many things you could be doing at any given time.

Content success, then, is dictated by what you choose to do and in what order.

Client-agency dynamics also played into this issue.

Typically, the most profitable strategies and tactics take a long time to develop. However, clients don’t have time. They want results ASAP.

So you’re constantly dealing with the conflict of delivering instant results to make the client happy, while at the same time building the foundation so that you’ll be able to continue delivering results long into the future.

Kevin’s approach, unsurprisingly, started with an SEO content audit at the beginning. It was in-depth, analyzing the technical set-up first, before the on-site content and optimization, then progressing to link building.

This initial audit was also used to identify potential low-hanging fruit. A simple crawl error preventing indexation, for example, could instantly deliver ROI to the client. If, that is, you knew where to look.

“Sometimes people neglect digging into that data and adjusting existing content a little bit. It’s simple, but it often has a pretty big impact. They should do this before ever starting brand new content creation.”

Jones prioritizes technical SEO, first, because “in a lot of cases it’s going to help the most.” Especially with larger websites that have changed or evolved over the years.

“It’s a slow and steady race for technical improvements. And it’s a pain in the ass to clean an entire house.”

From there, Jones moves to on-site changes, like keyword research and content opportunities.

This approach made clients happy because “they could see quicker traffic increases, but still benefit from a long-term balance for technical SEO.”

Every new website is different, so the order might be unique. But generally, Kevin would divide his time into spending around 40% on link building, 40% on content, and 20% on the technical side after the initial fix-it stage.

The mechanics are actually pretty easy. The tough part is to constantly reassess the leverage points based on where you’re already weak or strong.

For example, let’s say you want to evaluate a keyword opportunity. That decision ultimately comes down to:

Demand: The number of people searching for this term.

Competition: The number and strength of people competing for this term.

Yes, there’s more at play in reality. Yes, funnel stage and search intent and lots of other criteria are involved.

But at the end of the day, it can and should be that simple. Take “content marketing”:

Now, compare that site authority and referring domains with your own.

This example is extremely competitive. So unless your site’s been around for a while, your odds of success are slim to none. That means you either need to:

Identify a new, less competitive search query to go after.

Work to improve your off-site metrics to mirror the competition.

Either way, you probably want to deprioritize this for now. Topping out at the fifth position might as well be the 50th.

So maybe creating new content isn’t such a good idea after all. Maybe doubling down on your existing stuff will produce a better ROI over the next six months.

It’s a simple cost/benefit analysis of resource allocation at the end of the day.

Which option will provide the best, quickest return on your time and money?

It might take you anywhere from half to a full day to create a single blog post from scratch. Then, it might take another few weeks (or months) to get that page to rank.

Or, you could pick an existing page on your site that shows promise and spend the same three to six hours improving it.

Chances are, you’ll see much better results moving from the 11th position on Google to the 5th. And it’ll usually take less time, too.

SEO today is incredibly complex and nuanced. Search engines use machine learning algorithms to teach themselves new tricks.

Unfortunately, many of the get-rich-quick SEO schemes of the past work less and less with each passing day. Which means success over the long haul requires a constant reprioritization of what to do, when, and why.

Today that means one thing. Six months from now it will probably mean another.

3. Reverse-Engineer Content Distribution Tactics – But Don’t Copy

First edition Pokemon cards can run into the thousands on eBay.

Seriously. Check it out:

Back in high school, David Zheng discovered this lucrative niche market. And it changed everything.

He came up with different ways to collect or barter for the most valuable first editions. Then he’d create the listing, promote it, and dutifully follow through on each order with every buyer.

Despite all the painstaking labor, Zheng started clearing five-figures as a 14-year-old kid.

The only problem?

He was supposed to attend classes during daylight hours. Which meant that packaging and mailing out products had to occur late each night.

Zheng recalls that it wasn’t just the money. Sure, it was nice. But more importantly, it was about “figuring it all out.”

Getting all of the pieces together (so to speak), in the right order, at the exact right time.

Probably the worst one you’ve seen, right? Except for one teeny, tiny, detail.

Design has little to do with it. Instead, timing does.

But the point is the same.

“Like-gating” used to be one of the best ways to get new Facebook fans. Now, that functionality no longer exists (and goes against their policies).

Some principles will always remain relevant. But when it comes to content growth, you can’t rely on blindly copying a tactic or sticking with the tried-and-true. It can only work so long online.

Instead, you have to learn, test, measure, iterate, and come up with your own unique formula.

Content marketing is a system, not a tactic.

Content tactics commonly fail. Systems adapt and evolve.

One of Zheng’s first big wins included working with chúng tôi a viral blog that hit 31 million unique visitors, while also racking up fans like Elon Musk and Sam Harris.

This experience also helped Zheng discover the formula for growing sites with content which he took and repeatedly used to grow other big sites for people like Noah Kagan, taking OkDork’s (Kagan’s personal site) organic traffic over 200% within six months.

Like most good formulas, there’s no single variable. There are lots that all work together.

For example, it could start with detailed keyword research that considers not just search volume, but also relevancy and intent. It extends to the nitty-gritty details like rich snippets that can significantly increase CTR you see from SERPs and social streams.

Then, collecting all the emails you can possibly get your hands on and building relationships with people who talk to the people you want to buy from you.

Why?

Because the stuff that you’re doing over there will affect the results you’re getting over here.

That’s why the fastest growing companies look at the entire distribution system. They’re focused on building their social following through outstanding content and funneling the results into email so they can amplify their message across multiple touchpoints. Layer in retargeting and you’ve got the beginnings of a growth machine.

These content + paid + social + email + SEO strategies that David used proved so effective for Noah that it helped inspire a decent idea, too.

You may have heard of it.

Sumo is now part of an eight-figure business.

Conclusion

Content marketing success doesn’t happen in a vacuum.

And it can’t be learned by following a checklist or blindly following an influencer.

Instead, it comes with the realization that changes on one end create a rippling effect on the other.

Consistently reevaluating your top priorities with SEO content audits is critical. Not annually, but quarterly.

So the best thing you can do is get a front-row seat observing the companies already doing it. And speak with the people behind the scenes who actually perform the work.

Because you’ll quickly realize that marketing success is driven more by the sum of its parts than any one activity, tactic, or campaign.

More Resources:

Image Credits

How To Build A Stand

Did you know that 97% of people learn more about a business online than anywhere else?

Regardless of whether you’re a solopreneur, an ecommerce business, or an established business, you need to build a strong online presence. But what exactly is an online presence, how do you build one, and how do you manage it? We’re going to answer all those questions–and more!

What is an online presence?

An online presence is all the collective information and content about your business across the internet. In other words, an online presence defines how easy it is to find a business online.

Why you need a (great) online presence

Your online presence is crucial to your business. You must manage your online presence in order to grow your business, look legitimate, increase sales, establish your brand, and boost your marketing. Let’s take a closer look at why having an online presence matters so much for your business:

It adds legitimacy to your business

When people search online for the types of services and products you provide, they should be able to find you. Before consumers decide to buy something from you, they’re going to look online to learn more about your business.

In fact, 62% of consumers will disregard a business if they can’t find them online and 83% of U.S. shoppers have said that they use online search before visiting a store. If they can’t find enough information about your business, they may choose a competitor that has a stronger online presence and brand reputation.

You’ll be discovered by new customers

To get your services and products in front of new customers, you have to be online. New customers will discover your business through search engine results pages (SERPs). Without an online presence that gets your business in these places, it’s going to be difficult to get new customers and grow.

You’re able to market your business 24/7

You can’t market your business constantly (manually, at least!), but people can discover your business at any time online. Customers do their online shopping around their other responsibilities and will shop where it’s convenient for them. A strong online presence ensures you’ll be found whenever–and wherever–they’re looking for businesses like yours.

Your online presence will continue to grow

As you start managing your online presence by posting online, marketing your services, and developing new channels, your presence will begin to grow. Everything you develop now will pay off later.

How to build an online presence

Ultimately, building an online business presence is just about putting yourself out there, testing the channels that work for your business, and identifying where and how new customers are finding you online. There’s no one perfect way to build an online business presence, and you’ll want to try different techniques to see what works for you. Here are some tips to get started building an online presence.

Establish your overall goals

First, start by thinking about your overall marketing goals and objectives. What do you want your business’s online presence to accomplish?

Do you want to build more legitimacy for your business?

Do you want to increase awareness of your business?

Do you want to find new customers?

What return on investment do you want?

Keeping your overall goals in mind will help you stay motivated as you build an online presence. It’ll also give you a goal to return to later as you review your progress.

Build a professional website

You need an online hub where people can find you. Your website is your digital storefront. It’s the only piece of real estate you truly own on the web. So if you don’t already have a small business website in place, create one today. An appealing, ADA-accessible website will draw in potential customers and keep them there as long as they can easily search, learn, and purchase.

Keep the following tips in mind for your website:

Make your website mobile-friendly

Choose a clean and easy-to-navigate website design

Add powerful call-to-action phrases

Add live chat for ongoing customer service

Use royalty-free images or images you own

Include contact information

You can check your website’s performance with our free website grader. 

Post regularly on a business blog

By creating a business blog, your potential customers can find you through search engine results. A business blog gives you a place to publish high-quality posts pertaining to information your customers are interested in. Every post you write can be optimized with local keywords so that your blog posts have a chance to rank in search results.

Remember to use best practices as you publish content:

Break up sections with H2s and H3s.

Target long-tail keywords and frequently asked questions in H2s to try to show up in Google’s “people also ask” section.

Use bullet points and numbered lists to make your content more scannable.

Promote your blog posts on your social media sites and in your newsletter.

Repurpose blog content by turning it into YouTube videos, social media images, infographics, and other features.

Target at least one keyword or a couple of similar keywords within each blog post.

Leverage AI in content marketing when you need extra inspiration.

Never keyword stuff (using keywords that are unrelated or creating content overly loaded with keywords).

Get helpful blog post ideas and learn how to write a blog post here.

Ask for testimonials and reviews

Before your customers make any purchasing decision, they’re going to look at reviews online. It’s no secret online reviews influence how people choose to buy products and services. In fact, 84% of consumers feel that online business reviews are as trustworthy as personal recommendations. Plus, 93% of people are influenced by online reviews. Not only that, but reviews will show up on search engine results pages, so anyone searching for your products or services will be able to see them.

So, you need to ask customers for reviews through confirmation emails, business cards, thank you cards, on your website, and on social media. Asking for reviews is worthwhile! In fact, 95% of consumers left an online review in the past year and would consider leaving one in the future. This means that your loyal customers will likely understand how important online reviews are and would be more than willing to give your business one.

Use these review request email templates to get started asking for reviews!

Post regularly on social media

Your potential customers are going to peek at your social media sites as they consider your services or discover your brand through social media posts. You’ll want to set a few simple social media goals to keep your online presence building on track. Consider where members of your target market spend their time, and show up where they are. If you have a small social media team and are just getting started, choose one site to post regularly on. Posting regularly is how you consistently show up in your audience’s feed. That way, you’re maintaining brand consistency and creating an online presence that sticks.

If you need some help coming up with consistent social post ideas, try our marketing calendar with free monthly social media calendars.

Consider creating a newsletter

A newsletter is another way to create a one-on-one relationship with your customers. It can also help build your online presence by driving people to your online properties, such as your blog, website, social sites, or review sites.

Use SEO on your website and social platforms

SEO is one of the best ways to skyrocket your online presence. With SEO, your business can be found in more online searches and people will discover why your brand is worth following.

Use SEO best practices to manage your online presence:

Fix and redirect any old and broken website pages.

Identify the right SEO keywords to incorporate into your web content.

Optimize your images.

Link to other web pages and blog content throughout your website.

Connect with your audience

Do you know what makes your brand feel personal to any audience member? Your humanity. Make your brand feel personal by showing your personality.

For example, Duolingo personalized its language learning app with its mascot Duo the Owl.

You don’t have to have a mascot to showcase your brand identity. There are many ways to create a personal connection with your customers. YouTube’s Culture and Trends Report shared that 57% of Gen Z agree that they enjoy when brands participate in memes. Sharing personal stories, participating in trends and memes, and genuinely connecting with your audience will be enough. This can help you grow your online presence on social sites and encourage users to continue engaging with you online.

Create and manage your Google Business Profile

Your Google Business Profile highlights your most important features, hours, location, and reviews and helps you show up in search and map results. You’ve probably seen it before! When you search for a business or type of business, it shows up as the Map Pack or on the right-hand side of search results.

These listings are often created automatically, but businesses can manage them to ensure the information is accurate and to have a little more control over what’s shown to searchers.

For example, Day’s Coffee and Expresso is managed by the business. Its Google Business Profile includes its website, reviews, category, hours, phone number, location, and the types of services it offers. People can understand important information at a quick glance.

Create a Google Business Profile account and fill in important aspects of your profile, like location, website, hours, products and services, and other sections. If you already have a Google Business Profile for your business, make sure to claim it and update it regularly.

Manage your business listings

Whether you know it or not, your business is likely listed on a number of business directories across the web. These business directory listings can either help or hurt your online presence (not to mention your SEO!).

In addition to owning your Google Business profile, you could also create and own your Facebook business page, get listed on Bing Places or the Yellow Pages, claim your business on Yelp, and more.

Updating and regularly checking your listings for accuracy can help you improve consistency for your business (an important ranking factor!), direct more searchers to your business either through phone, your website, or your business address, and give you more opportunities to appear in local search results.

For example, sometimes these directories will create “best of” lists featuring the best local places to eat, the best contractors to repair homes, and the best of the best in hundreds of categories.

Owning your online listings will go a long way toward building your business’s online presence. To quickly check the accuracy of your listings in one place, try the LocaliQ Free Business Listings Grader.

Write high-quality guest posts

Another way to build your online presence is to look for other businesses and media outlets that accept guest posts. Publishing high-quality guest posts on other media outlets and related websites will get your business seen by their audience.

Additionally, linking to your website from theirs will improve your SEO. You could even accept guest posts from other individuals, as other businesses and individuals will want their businesses to be seen by your audience.

Consider influencer marketing

If you’re ready to connect with new audience members, you may want to consider influencer marketing. Partnering with influencers in your niche is a wonderful way to get the word out about your brand to other people and improve your online presence.

If you sell construction tools, you may want to work with a popular TikTok contractor. If you sell books, you may want to provide bookstagrammers on Instagram with free copies of books to review. If you sell makeup, consider working with beauty influencers. Be creative!

Swiffer partnered with dancers Cost and Mayor to promote their cleaning products and to encourage equal chore sharing. Nontraditional partnerships can open up new possibilities for your business.

Google Ads showing for “dentist Dallas” search

Host free webinars

Another way to build your online presence? Create free online webinars. Online webinars create buzz for your business, and you can reshare them later on YouTube or your website for an online presence boost.

When you’re promoting your webinar, be sure to ask people to register with an email address. As a bonus, you can then email attendees a copy of the webinar and ask people if they’d like to be on your company’s email list.

Ensure that everything is accessible

One in four adults in the United States has a disability. Your website pages, blog posts, social media posts, and emails must be accessible to anyone who has a disability. Providing accessible and inclusive marketing content opens up your business to new customers—and shows that you care about them.

Create accessible content and develop an accessibility policy at your business. Follow these tips:

Create accessible social media descriptions

Use inclusive language

Caption your video content

Avoid custom fonts

Use emojis in moderation

Review your progress and make changes

Last but not least, you need to audit your content, check in on your progress, and make changes. Review your original goals, and see what strategies are working…and which ones aren’t. Don’t be afraid to pivot and try new things.

Use these strategies and techniques to manage your online presence

There’s a lot of work to do when it comes to building an online presence! However, that work can be well worth it to help your business reach its full potential in the short and long term.

Let’s review the strategies you can use to build your online presence:

Establish your overall goals

Build a professional website

Post regularly on a business blog

Ask for testimonials and reviews

Post regularly on social media

Consider creating a newsletter

Use SEO on your website and social platforms

Connect with your audience

Create and manage your Google Business Profile

Manage your business listings

Write high-quality guest posts

Consider influencer marketing

Host free webinars

Ensure that everything is accessible

Review your progress and make changes

Kaitlyn Arford

Other posts by Kaitlyn Arford

Update the detailed information about Build A Natural Language Generation (Nlg) System Using Pytorch on the Daihoichemgio.com website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!