Practical Ecommerce

Generate Product Descriptions with Natural Language Software

Software solution providers are using templates and product data, such as brand name, price, and specifications, to automatically generate thousands of ecommerce product descriptions in practically no time.

Ecommerce product descriptions can be challenging to write. Online stores need descriptions that properly explain the product so shoppers can make good, informed buying decisions. The stores also want unique descriptions so that product detail pages rank relatively high on search engine results.

When a merchant has a few products, writing or paying someone to write robust and artful product descriptions isn’t a big deal. But as the number of products increases, generating descriptions becomes very time consuming and expensive.

Ecommerce Product Description Templates

One possible solution for the ecommerce-product-description problem is to use “natural language” text or, as some refer to it, templating.

This approach to text generation is amazingly similar to the popular Mad Libs word games that have been published since 1958. Mad Libs feature a story, wherein some words have been replaced with blanks. A part of speech, like a noun or adjective, is assigned to each blank. To play the game, simply fill in the blanks.

Mad Libs is a template-based word game — one person asks others for a list of words to fill in the blanks in a story. Once the blanks have been replaced, the story is read aloud. This is similar in form to the way some companies are creating product descriptions.

Mad Libs is a template-based word game — one person asks others for a list of words to fill in the blanks in a story. Once the blanks have been replaced, the story is read aloud. This is similar in form to the way some companies are creating product descriptions.

Here is a very short example from the Mad Libs website. Notice that you would replace the blank with a word of your choosing. For this example, Mad Libs wants you to use a plural noun.

One jelly donut with whipped cream and extra ____________, please.

Product Description Templates Begin with Product Data

When software solution providers work with online stores to generate product descriptions, the providers begin with the kinds of words or phrases that will be used to fill in the blanks.

As mentioned above, in Mad Libs one fills in the blanks with parts of speech. For product descriptions, you would use product data.

Imagine you run an online electronics store, wherein you drop ship thousands of products, including about 2,500 makes and models of televisions.

You don’t want to just take the manufacturers’ descriptions for these TVs, since those descriptions show up on thousands of websites and would scuttle your search engine optimization efforts. You also don’t want to write 2,500 separate product descriptions.

Even if you were quick and witty, and it only took you five minutes to write each product description, you would need roughly 208 hours to complete them all. If you worked on nothing else for 40 hours a week, it would be a bit more than five weeks before you were done.

Instead, take stock of the product information you have stored in your product database. This may be a formal product information manager (PIM) or the product catalog on your ecommerce platform. Focus on important characteristics. For each television, you may want the following.

  • Brand
  • Screen type
  • Screen size
  • Resolution
  • Input type
  • Number of inputs

The data from these fields become the words or phrases used to fill in your product description templates.

Product Description Template

The next step in the natural language text-generation process is to create a template for each product category or group. The natural language software providers will ask you to create this template, which is analogous to a story in Mad Libs.

For many online stores, creating this template will probably mean finding a competitor’s product description that you like, and using it to help you create a template for your products.

Here for example, is a product description from the Best Buy website.

Experience cinema-like viewing from the comfort of your living room with this 55-inch Insignia LED television. It displays Blu-ray and high-definition movies in full 1080p resolution with stunning HD detail. Use the three HDMI inputs to create a home theater experience with this Insignia LED TV and your other audio and video devices.

Let’s take this description apart and look at a few of the parts. The first sentence has two parts. There is an introduction.

Experience cinema-like viewing from the comfort of your living from with…

There is product information.

...this 55-inch Insignia LED television.

Focusing first on the product information, you may notice that “55-inch” is the screen size, “Insignia” is the brand, and “LED” is the screen type. This is all product information. Let’s replace the specifics with a placeholder for the product information.

this {{ screen size }} {{ brand }} {{ screen type }} television.

Now when we start to generate product descriptions, we will fill in these blanks, if you will, with product information stored in a database.

Let’s do this same thing for the entire template.

Experience cinema-like viewing from the comfort of your living room with this {{ screen size }} {{ brand }} {{ screen type }} television.

It displays Blu-ray and high-definition movies in full {{ screen resolution }}p resolution with stunning HD detail.

Use the {{ number of inputs }} {{ inputs type }} inputs to create a home theater experience with this {{ brand }} {{ screen type }} TV and your other audio and video devices.

Conditional Statements

With a template like this you could generate several television descriptions, but there is a problem. Notice the phrase, “with stunning HD detail.” That reads nicely, but what if the television isn’t high definition (HD)?

To solve this problem, natural language text generators will use some form of a conditional statement. If the television is HD, use this phrase. If it is not HD, use a different phrase. Here is an example, assuming that we define HD as anything larger than 720p.

with {{ screen resolution >= 720 ? “stunning HD detail.” : “a good viewing experience.” }}

The syntax for the conditional statement in a natural language template will differ, but for the sake of our example, if the screen resolution is greater than or equal to 720, use the first phrase, “stunning HD detail.” If it is less than 720, use the second phrase, “a good viewing experience.”

Again, we can add conditionals to the entire template.

Experience {{ screen size >= 55 ? “cinema-like viewing” : “the shows and movies you love: }} from the comfort of your living room with this {{ screen size }} {{ brand }} {{ screen type }} television.

{{ screen resolution >= 720 ? “It displays Blu-ray and high-definition” : “television shows, sporting events and” }} movies in {{ screen resolution >= 720 ? “full” : “” }} {{ screen resolution }}p resolution with {{ screen resolution >= 720 ? “stunning HD detail” : “a good viewing experience” }}.

Use the {{ number of inputs }} {{ inputs type }} inputs to create a {{ screen resolution >= 720 ? “home theater” : “great” }} experience with this {{ brand }} {{ screen type }} TV and your other audio and video devices.

Replacement Phrases, Words

The drop-shipping electronics store from our example could use this template to generate all 2,500 television descriptions. But customers would notice, and the descriptions would still represent a lot of duplicate content that search engines won’t particularly like.

So we can introduce replacement phrases or words. When the natural language text generator starts making descriptions, it could interchange these synonym-like phrases. For example, here are two versions of the first sentence of the product description template. Notice that even within a version there are multiple words — experience, enjoy, imagine — that might be used.

Version 1

{{ “Experience” || “Enjoy” || “Imagine” }} {{ screen size >= 55 ? {{ “cinema-like” || “theater-style” }} “viewing” : “the shows and movies you love: }} from the comfort of your {{ “living room” || “home” }} with this {{ screen size }} {{ brand }} {{ screen type }} television.

Version 2

This {{ screen size }} {{ brand }} {{ screen type }} TV {{ screen size >= 55 ? “is like having a movie theater in your living” : “offers a great viewing experience” }}

For actually creating 2,500 product descriptions, it might make sense to have as many as 10 of these versions for each section in the description.

Natural Language Templates

Natural language templates and the companies that provide them represent one way of addressing the challenge of creating unique and interesting product descriptions, in mass. This approach won’t work for every solution or every product. But for some categories, it is a good way to generate hundreds or even thousands of product descriptions very quickly.

Armando Roggio

Armando Roggio

Bio   •   RSS Feed


email-news-env

Sign up for our email newsletter

  1. pierre January 20, 2017 Reply

    can you give us some software to build the description ?

    • Armando Roggio January 20, 2017 Reply

      Pierre, There are already a couple of software solutions that will go through these steps with you and produce the results. For example, you might look at Wordsmith from Automated Insights.

      Although I am less familiar with how it works specifically, Narrative Science also has a natural language generation tool.

      Finally, I believe this can be done fairly simply as a custom application.

  2. Tadah Wallace Lawski January 20, 2017 Reply

    This type of software has been around for over 10 year + in the context t written given SEO world. This is using data merge to to content t software for descriptions. If you want to get really elaborate you should move sentences and paragraphs around too via variable. Have fun.

    • Armando Roggio January 20, 2017 Reply

      Thanks Tadah. It is also somewhat similar to a few structured content and reuse techniques. In the early part of the last decade, as an example, I helped to roll out a content reuse program for a semiconductor manufacturer. It was based on the Darwin Information Type Architecture (DITA). It too had some similar concepts.

      What’s more, if you notice, I wrote my examples in a generic template format. Which might be integrated into an application like an ecommerce platform.

  3. Joshua Kitlas January 22, 2017 Reply

    I imagine that soon, if not already, pairing AI with NLP will help to further vary replacement phrases or words as well as overall syntax.

    Do you know of any software packages like this currently exist and are used for ECommerce?