{"id":15838,"date":"2021-05-13T22:27:15","date_gmt":"2021-05-13T20:27:15","guid":{"rendered":"https:\/\/wordlift.io\/blog\/en\/?p=15838"},"modified":"2022-07-05T15:57:06","modified_gmt":"2022-07-05T13:57:06","slug":"ai-text-generation-for-seo","status":"publish","type":"post","link":"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/","title":{"rendered":"AI Text Generation for SEO: a practical example"},"content":{"rendered":"\r\n<h2 class=\"wp-block-heading\" id=\"text\">Transformer-based text generation<\/h2>\r\n\r\n\r\n\r\n<p>In recent years, there has been an increasing interest in open-ended language text generation (NLG), beginning with the release of OpenAI&#8217;s famous <a href=\"https:\/\/openai.com\/blog\/better-language-models\/\">GPT2 model<\/a>. I have been following various approaches and network architectures with the same excitement I had when I used to play with my favourite model trains Lima. In this blog post, I will highlight some of the limitations of transformer-based text generation in the context of digital marketing tasks and present data-to-text as a possible solution to these pitfalls.&nbsp;<\/p>\r\n\r\n\r\n\r\n<p>The blog post contains a <a href=\"https:\/\/colab.research.google.com\/drive\/1TaPqHQ2CRHINFCRSWqSmdfF0UOF49yuj?usp=sharing\">link to the code<\/a> and the instructions to train your model using Google\u2019s T5 on generic data-to-text generation tasks that you can adapt to your own needs ?.&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/yceU_yqGK6Nr8bBdeA2zX23FUR4RpZDJKFEhLvsxGXgRqAfN67tDsUIwSgKqw0X5Pj0QU1h68LADrFHoH5JhvWDn-dejUTDyQlWFWhJh007v81rPhphNiJY-h1--WkAHRNQTXkQ4\" alt=\"\" width=\"733\" height=\"570\" \/><figcaption>My beloved Lima trains ?<\/figcaption><\/figure>\r\n\r\n\r\n\r\n<p><strong>Table of contents<\/strong>:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\"><li><a href=\"#text\">Transformer-based text generation<\/a><\/li><li><a href=\"#NLG\">What is NLG?<\/a><\/li><li><a href=\"#neo\">Introducing GPT-Neo<\/a><\/li><li><a href=\"#limits\">Limits and pitfalls of automated text generation<\/a><ul><li>1. <a href=\"#fake\">The proliferation of fake news and disinformation<\/a><\/li><li>2. <a href=\"#biases\">Unwanted prejudices and biases<\/a><\/li><li>3. <a href=\"#math\">Inability to count and do math<\/a><\/li><li>4. <a href=\"#limited\">Limited generalization abilities<\/a><\/li><\/ul><\/li><li><a href=\"#t5\">Creating a simple model for data to text content generation using Google\u2019s T5<\/a><ul><li><a href=\"#dataset\">Let\u2019s get started: the dataset (WebNLG Challenge)<\/a><\/li><li><a href=\"#model\">Fine-tuning the model<\/a><\/li><li><a href=\"#generate\">Time to automatically generate text<\/a> <\/li><\/ul><\/li><li><a href=\"#learned\">Lessons learned and future work<\/a><ul><li><a href=\"#tasks\">What SEO tasks can we automate using automatic content generation?<\/a><\/li><\/ul><\/li><\/ul>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"NLG\">What is NLG?<\/h3>\r\n\r\n\r\n\r\n<p>Natural language generation (NLG) is a subfield of <a class=\"wl-entity-page-link\" title=\"NLP\" href=\"https:\/\/wordlift.io\/blog\/en\/entity\/natural-language-processing\/\" data-id=\"http:\/\/data.wordlift.io\/wl0216\/entity\/natural_language_processing;http:\/\/rdf.freebase.com\/ns\/m.05flf;http:\/\/dbpedia.org\/resource\/Natural_language_processing;http:\/\/be.dbpedia.org\/resource\/\u0410\u043f\u0440\u0430\u0446\u043e\u045e\u043a\u0430_\u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u0430\u0439_\u043c\u043e\u0432\u044b;http:\/\/ru.dbpedia.org\/resource\/\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430_\u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e_\u044f\u0437\u044b\u043a\u0430;http:\/\/pt.dbpedia.org\/resource\/Processamento_de_linguagem_natural;http:\/\/bg.dbpedia.org\/resource\/\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430_\u043d\u0430_\u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d_\u0435\u0437\u0438\u043a;http:\/\/lt.dbpedia.org\/resource\/Nat\u016bralios_kalbos_apdorojimas;http:\/\/fr.dbpedia.org\/resource\/Traitement_automatique_du_langage_naturel;http:\/\/uk.dbpedia.org\/resource\/\u041e\u0431\u0440\u043e\u0431\u043a\u0430_\u043f\u0440\u0438\u0440\u043e\u0434\u043d\u043e\u0457_\u043c\u043e\u0432\u0438;http:\/\/id.dbpedia.org\/resource\/Pemrosesan_bahasa_alami;http:\/\/ca.dbpedia.org\/resource\/Processament_de_llenguatge_natural;http:\/\/sr.dbpedia.org\/resource\/Obrada_prirodnih_jezika;http:\/\/en.dbpedia.org\/resource\/Natural_language_processing;http:\/\/is.dbpedia.org\/resource\/M\u00e1lgreining;http:\/\/it.dbpedia.org\/resource\/Elaborazione_del_linguaggio_naturale;http:\/\/es.dbpedia.org\/resource\/Procesamiento_de_lenguajes_naturales;http:\/\/cs.dbpedia.org\/resource\/Zpracov\u00e1n\u00ed_p\u0159irozen\u00e9ho_jazyka;http:\/\/pl.dbpedia.org\/resource\/Przetwarzanie_j\u0119zyka_naturalnego;http:\/\/ro.dbpedia.org\/resource\/Prelucrarea_limbajului_natural;http:\/\/da.dbpedia.org\/resource\/Sprogteknologi;http:\/\/tr.dbpedia.org\/resource\/Do\u011fal_dil_i\u015fleme\" >natural language processing<\/a>, which is in turn a subfield of artificial intelligence research. Here below I will share the code that automatically transforms data coming from a knowledge graph into plain-English content. NLG can be used, in conjunction with your editorial team to, write sentences, paragraphs or even entire articles for you.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"neo\">Introducing GPT-Neo<\/h3>\r\n\r\n\r\n\r\n<p>Thanks to these sizeable <a href=\"https:\/\/wordlift.io\/academy-entries\/transformers-seo\/\">transformer-based language models<\/a> and libraries like Transformers by HuggingFace, state-of-the-art content generation has become as simple as <a class=\"wl-entity-page-link\" title=\"write\" href=\"https:\/\/wordlift.io\/blog\/en\/entity\/writing\/\" data-id=\"http:\/\/data.wordlift.io\/wl0216\/entity\/writing;http:\/\/rdf.freebase.com\/ns\/m.081rb;http:\/\/dbpedia.org\/resource\/Writing\" >writing<\/a> two lines of code. The example below has been composed using GPT-Neo, a set of transformer-based language models that have been designed around the GPT architecture.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"376\" src=\"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2021\/05\/neo-1024x376.jpg\" alt=\"\" class=\"wp-image-15839\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/neo-1024x376.jpg 1024w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/neo-300x110.jpg 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/neo-768x282.jpg 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/neo-1536x564.jpg 1536w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/neo-150x55.jpg 150w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/neo.jpg 1868w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>You can play with the code I used for generating this example using the Google Colab notebook linked <a href=\"https:\/\/fbbr.co\/neo\">here<\/a>. Here comes another example &#8211; using GPT-Neo &#8211; with an answer to my beloved question:<em> \u201cIs SEO dead in 2021?\u201d<\/em><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"960\" height=\"540\" src=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost.jpg\" alt=\"\" class=\"wp-image-15840\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost.jpg 960w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-300x169.jpg 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-768x432.jpg 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-288x163.jpg 288w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-150x84.jpg 150w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>This<strong> approach of generating content is genuinely transformative for content creators, marketers, SEOs<\/strong> and has indeed generated tremendous hype.&nbsp;<\/p>\r\n\r\n\r\n\r\n<p>I began addressing <a href=\"https:\/\/wordlift.io\/blog\/en\/write-meta-descriptions-bert\/\">writing meta descriptions using AI<\/a> a while ago as I realised that this is one of these somehow tedious tasks that can be (semi) automated. Our content team logged tens of hours in creating these text snippets for our precious VIP clients. No kidding. Cutting down that effort by 60% has been an outstanding achievement.\u00a0<\/p>\r\n\r\n\r\n\r\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Learn more about <strong><a href=\"https:\/\/wordlift.io\/blog\/en\/web-stories\/prompt-engineering-in-seo\/\">Prompt Engineering in SEO<\/a><\/strong>, what it is and how you can use diffusion models to make your SEO strategy different!<\/p><\/blockquote>\r\n\r\n\r\n\r\n<p><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"limits\">Limits and pitfalls of automated text generation&nbsp;<\/h2>\r\n\r\n\r\n\r\n<p>At the same time, and despite the hype, even advanced model architecture such as OpenAI\u2019s <a class=\"wl-entity-page-link\"  href=\"https:\/\/wordlift.io\/blog\/en\/entity\/gpt-3\/\" data-id=\"http:\/\/data.wordlift.io\/wl0216\/entity\/gpt-3;http:\/\/www.wikidata.org\/entity\/Q95726734\" >GPT-3<\/a> have severe limitations that need to be taken into account when accomplishing even simple SEO tasks.&nbsp;<\/p>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\" id=\"fake\">1. The proliferation of fake news and disinformation<\/h4>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"960\" height=\"540\" src=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-1.jpg\" alt=\"\" class=\"wp-image-15841\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-1.jpg 960w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-1-300x169.jpg 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-1-768x432.jpg 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-1-288x163.jpg 288w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-1-150x84.jpg 150w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>One of the risks is that even advanced language models have no understanding of the content that they produce. It is a fact that disinformation will get a boost as it gets straightforward to make false or misleading content that sounds credible (because of its style and choice of words).&nbsp;<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"biases\">2. Unwanted prejudices and biases&nbsp;<\/h3>\r\n\r\n\r\n\r\n<p>Another<strong> highly critical aspect is ethics<\/strong>. GPT-3, like most language models, is trained on human texts from various sources, and unfortunately, this also means that it reflects some of humanity\u2019s worst tendencies.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2021\/05\/ethics-1024x1010.jpg\" alt=\"\" class=\"wp-image-15842\" width=\"733\" height=\"722\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/ethics-1024x1010.jpg 1024w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/ethics-300x296.jpg 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/ethics-768x757.jpg 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/ethics-96x96.jpg 96w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/ethics-150x148.jpg 150w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/ethics.jpg 1134w\" sizes=\"(max-width: 733px) 100vw, 733px\" \/><figcaption>Image is taken from <a href=\"https:\/\/link.springer.com\/article\/10.1007\/s11023-020-09548-1\"><strong>GPT-3: Its Nature, Scope, Limits, and Consequences<\/strong><\/a> by Luciano Floridi &amp; Massimo Chiriatti.<br><\/figcaption><\/figure>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"960\" height=\"540\" src=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-2.jpg\" alt=\"\" class=\"wp-image-15868\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-2.jpg 960w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-2-300x169.jpg 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-2-768x432.jpg 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-2-288x163.jpg 288w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/SEO-Automation_-your-best-growth-hacker-is-not-human-TNW-Boost-2-150x84.jpg 150w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><figcaption> <a href=\"https:\/\/www.paolobenanti.com\/\">Paolo Benanti<\/a> is Professor at the Pontifical Gregorian University and his insights on digital ethics are extremely valuable.<\/figcaption><\/figure>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\" id=\"math\">3. Inability to count and do math&nbsp;<\/h4>\r\n\r\n\r\n\r\n<p>Language models work on statistical patterns and can predict very well what the next word or sentence will be. Unfortunately, this doesn\u2019t mean that they can truly understand the question or the answer that they can provide. This also means that a language model cannot count or do any math operations that even a five-year-old would be able to do.&nbsp;<\/p>\r\n\r\n\r\n\r\n<p>If I prompt GPT-3 with simple mathematical operations such as <em>(100*500)-2; <\/em>while Google (or any other search engine) will answer in the blink of an eye, GPT-3 gets it wrong and goes off topic; it starts blathering about the power consumption of the light inside a fridge ?.&nbsp;<\/p>\r\n\r\n\r\n\r\n<p><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"572\" src=\"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2021\/05\/can-ai-do-math-1024x572.png\" alt=\"\" class=\"wp-image-15844\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/can-ai-do-math-1024x572.png 1024w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/can-ai-do-math-300x168.png 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/can-ai-do-math-768x429.png 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/can-ai-do-math-1536x859.png 1536w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/can-ai-do-math-150x84.png 150w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/can-ai-do-math.png 1696w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>While a language model shall not be compared to a search engine, it is clear that GPT-3\u2019s large brain will not pass the 1st Grade Math test.&nbsp;<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"154\" src=\"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2021\/05\/dont-let-gpt-3-do-math-1024x154.png\" alt=\"\" class=\"wp-image-15845\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/dont-let-gpt-3-do-math-1024x154.png 1024w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/dont-let-gpt-3-do-math-300x45.png 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/dont-let-gpt-3-do-math-768x115.png 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/dont-let-gpt-3-do-math-1536x230.png 1536w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/dont-let-gpt-3-do-math-2048x307.png 2048w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/dont-let-gpt-3-do-math-150x23.png 150w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>GPT-3 answering (100*500)-2<\/figcaption><\/figure>\r\n\r\n\r\n\r\n<p><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"960\" height=\"540\" src=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/From-Knowledge-Graphs-to-AI-powered-SEO-\u2013-The-Theory-5.png\" alt=\"\" class=\"wp-image-15846\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/From-Knowledge-Graphs-to-AI-powered-SEO-\u2013-The-Theory-5.png 960w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/From-Knowledge-Graphs-to-AI-powered-SEO-\u2013-The-Theory-5-300x169.png 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/From-Knowledge-Graphs-to-AI-powered-SEO-\u2013-The-Theory-5-768x432.png 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/From-Knowledge-Graphs-to-AI-powered-SEO-\u2013-The-Theory-5-288x163.png 288w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/From-Knowledge-Graphs-to-AI-powered-SEO-\u2013-The-Theory-5-150x84.png 150w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>In this other example, we see T5, brilliantly summarising web pages to answer a question about Modern SEO in 2020. Unfortunately, while it talks about 17 things to keep in mind (quoting the awesome <a href=\"https:\/\/twitter.com\/britneymuller?lang=en\">Britney Muller<\/a>), the list only includes 13 factors.&nbsp;<\/p>\r\n\r\n\r\n\r\n<h4 class=\"wp-block-heading\" id=\"limited\">4. Limited generalization abilities<\/h4>\r\n\r\n\r\n\r\n<p>When we fine-tune a model, even language models like T5 or GPT-3 trained on a massive amount of content, we specialize it for a given use case (i.e. generating introductory text about companies in our database or product descriptions for our beautiful silk ties). In other words, the model that we obtain will only be valuable within that context and will not have optimal performances when used on other knowledge domains.<\/p>\r\n\r\n\r\n\r\n<p>In the example below, we can try to decrease the number of epochs to increase the generalizability of our model (an epoch in machine learning indicates the number of passes of the entire training dataset the&nbsp;<strong>machine learning<\/strong>&nbsp;algorithm has completed). Decreasing the epochs might harm the quality of the generated text, though.&nbsp; &nbsp;<\/p>\r\n\r\n\r\n\r\n<p>To learn more about <strong>SEO automation using GPT3 and transformer-based language models<\/strong>, check out Andrea&#8217;s slides at BrightonSEO 2021 <a href=\"https:\/\/wordlift.io\/academy-entries\/transformers-seo\/\">here<\/a>.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"t5\">Creating a simple model for data to text content generation using Google\u2019s T5<\/h2>\r\n\r\n\r\n\r\n<p>When working on SEO with automatically fabricated texts, we need to be even more intelligent and critical than usual. We want to create workflows where we <strong>collaboratively work with machines to create tangible and sustainable business value<\/strong>. This requires controlling content quality and semantic accuracy while limiting unwanted bias and prejudices.<\/p>\r\n\r\n\r\n\r\n<p>Due to the existing limitation of the technology, we cannot (yet) use GPT or other transformer-based language models by letting them run wild. We need to have a human-in-the-loop approach.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"960\" height=\"540\" src=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/How-AI_ML-Can-Supercharge-Your-SEO-VIP-Clients-1.png\" alt=\"\" class=\"wp-image-15847\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/How-AI_ML-Can-Supercharge-Your-SEO-VIP-Clients-1.png 960w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/How-AI_ML-Can-Supercharge-Your-SEO-VIP-Clients-1-300x169.png 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/How-AI_ML-Can-Supercharge-Your-SEO-VIP-Clients-1-768x432.png 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/How-AI_ML-Can-Supercharge-Your-SEO-VIP-Clients-1-288x163.png 288w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/How-AI_ML-Can-Supercharge-Your-SEO-VIP-Clients-1-150x84.png 150w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>For this reason, as <a class=\"wl-entity-page-link\"  href=\"https:\/\/wordlift.io\/blog\/en\/entity\/deep-learning\/\" data-id=\"http:\/\/data.wordlift.io\/wl0216\/entity\/deep_learning;http:\/\/dbpedia.org\/resource\/Deep_learning;http:\/\/rdf.freebase.com\/ns\/m.0h1fn8h\" >deep learning<\/a> is becoming more accessible by all means, I began experimenting with data-to-text generation approaches. Using a text-to-text transfer transformer like Google\u2019s T5 we will now fine-tune a model that will <em>link<\/em> <strong>structured information<\/strong> (i.e. metadata available in a knowledge graph about hospitals in Texas or product details for a merchant in New Zealand) with <strong>snippets of text<\/strong>.&nbsp;<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-table\"><table><tbody><tr><td><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/LSDyOOPuJu6oLydjPHVIBJEnlq1sZpjKLjiHWOeQ8cEBu0s0DfbGfRjE16ddBfHphwnJ2Ip4b04ydX_2yj0yiVu1GNDw0sK4yFOG5vS2wye1Mpot9oKX997IbX8ZIwRUh3b4ez_A\" width=\"83\" height=\"73\"><\/td><td><strong>Jump directly to the code: <a href=\"https:\/\/colab.research.google.com\/drive\/1TaPqHQ2CRHINFCRSWqSmdfF0UOF49yuj?usp=sharing\">T5 Data-to-Text<\/a><\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\r\n\r\n\r\n\r\n<p>In a machine learning project, we use data for training and fine-tuning to convey the \u201crules\u201d of our system and to control the outcome.<\/p>\r\n\r\n\r\n\r\n<p>The project in Colab is self-explanatory but I will highlight some passages in the following paragraphs, and I encourage you to make a copy of the code and use it for your projects by replacing the training data. Mathew Alexander did the original work, and all the credit goes to him.&nbsp;&nbsp;<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"dataset\">Let\u2019s get started: the dataset (WebNLG Challenge)<\/h3>\r\n\r\n\r\n\r\n<p>In the code, I provided we will use as a starting point the data from the <a href=\"https:\/\/webnlg-challenge.loria.fr\/challenge_2020\/\">WebNLG Challenge 2020<\/a>.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"542\" src=\"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-wordlift-1024x542.jpg\" alt=\"\" class=\"wp-image-15848\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-wordlift-1024x542.jpg 1024w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-wordlift-300x159.jpg 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-wordlift-768x407.jpg 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-wordlift-1536x813.jpg 1536w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-wordlift-150x79.jpg 150w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-wordlift.jpg 1858w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption>A snippet of code from the Colab that describes the data preparation phase<br><\/figcaption><\/figure>\r\n\r\n\r\n\r\n<p>The dataset comprises RDF <a class=\"wl-entity-page-link\" title=\"Triple\" href=\"https:\/\/wordlift.io\/blog\/en\/entity\/triple\/\" data-id=\"http:\/\/data.wordlift.io\/wl0216\/entity\/triple;http:\/\/www.wikidata.org\/entity\/Q3539534;http:\/\/dbpedia.org\/resource\/Semantic_triple\" >triples<\/a> (facts extracted from <a class=\"wl-entity-page-link\"  href=\"https:\/\/wordlift.io\/blog\/en\/entity\/dbpedia\/\" data-id=\"http:\/\/data.wordlift.io\/wl0216\/entity\/dbpedia;http:\/\/rdf.freebase.com\/ns\/m.02rw2c7;http:\/\/yago-knowledge.org\/resource\/DBpedia;http:\/\/dbpedia.org\/resource\/DBpedia\" >DBpedia<\/a>) and their related textual description. In the Colab we will first download the dataset and then create a Pandas data frame with a prefix (webNLG), the input_text (these are the facts separated by \u201c|\u201d), and a target_text (this is the text that we expect to produce for that input_text).<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"240\" src=\"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-1024x240.png\" alt=\"\" class=\"wp-image-15849\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-1024x240.png 1024w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-300x70.png 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-768x180.png 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-1536x360.png 1536w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-150x35.png 150w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text.png 1952w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>In the English corpus (there is also a Russian one that we will not consider) the data-text pairs are coming from 16 different DBpedia categories (or entity types): Airport, Astronaut, Building, City, ComicsCharacter, Food, Monument, SportsTeam, University, WrittenWork, Athlete, Artist, CelestialBody, MeanOfTransportation, Politician and Company.<\/p>\r\n\r\n\r\n\r\n<p>This is important because it defines the perimeter of the content that we will be able to generate. Also, we shall keep in mind that we\u2019re training a model using text from Wikipedia; therefore the tone of voice will be the one used by the encyclopedia (not necessarily a good fit for your website).&nbsp;<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"model\">Fine-tuning the model<\/h3>\r\n\r\n\r\n\r\n<p>Here I mount Google Drive that will be used to store the data and both the model and the tokenizer, once the training is complete. This requires you to authenticate and let Colab access Google Drive with your credentials. We will use Google T5-base as a starting point, and I have set 4 epochs for training.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"84\" src=\"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2021\/05\/fine-tuning-t5-1024x84.png\" alt=\"\" class=\"wp-image-15850\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/fine-tuning-t5-1024x84.png 1024w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/fine-tuning-t5-300x25.png 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/fine-tuning-t5-768x63.png 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/fine-tuning-t5-1536x127.png 1536w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/fine-tuning-t5-150x12.png 150w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/fine-tuning-t5.png 2012w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>The training is done using PyTorch and, on a GPU machine, it will only take 50 minutes or so. Training is done using AdaFactor, and <a href=\"https:\/\/discuss.huggingface.co\/t\/t5-finetuning-tips\/684\/7\">here you can find some helpful tips to experiment with the parameters<\/a>.&nbsp;&nbsp;<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"generate\">Time to automatically generate text ?<\/h3>\r\n\r\n\r\n\r\n<p>Once the model is trained, it will be stored in Google Drive, and you will be able to load it directly from there the second time. Cell 4.1 of the Colab (as explained in the code) shall be run only if you have created the model in a previous session.&nbsp;&nbsp;&nbsp;<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"189\" src=\"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-wordlift-2-1024x189.png\" alt=\"\" class=\"wp-image-15852\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-wordlift-2-1024x189.png 1024w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-wordlift-2-300x55.png 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-wordlift-2-768x142.png 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-wordlift-2-1536x283.png 1536w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-wordlift-2-150x28.png 150w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/data-to-text-wordlift-2.png 1866w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>Here we see the first example on SEMRush CEO.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"106\" src=\"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2021\/05\/inferencing-experiments-1024x106.png\" alt=\"\" class=\"wp-image-15853\" srcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/inferencing-experiments-1024x106.png 1024w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/inferencing-experiments-300x31.png 300w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/inferencing-experiments-768x80.png 768w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/inferencing-experiments-1536x159.png 1536w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/inferencing-experiments-2048x212.png 2048w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/inferencing-experiments-150x16.png 150w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"learned\">Lessons learned and future work.<\/h2>\r\n\r\n\r\n\r\n<p>The model is far from being perfect, and clearly, we would need a less generic dataset to obtain results that we can indeed use for SEO purposes. Nevertheless, as simple as this implementation can be, it helps us understand that we can \u201ccontrol\u201d a language model and how the content is generated as long as we have the correct data to train it on. We also need to focus on automatically validating the output of the generated text to prevent the risk of hallucinations (false statements and errors). Once again, if we have data organised in a <a class=\"wl-entity-page-link\" title=\"any&#039;s SEO. &lt;\/em\" href=\"https:\/\/wordlift.io\/blog\/en\/entity\/knowledge-graph\/\" data-id=\"http:\/\/data.wordlift.io\/wl0216\/entity\/knowledge_graph;https:\/\/www.wikidata.org\/wiki\/Q33002955\" >knowledge graph<\/a>, we can use this data to control semantic accuracy, mistakes and omissions of the generated text. In general, <a class=\"wl-entity-page-link\" title=\"Knowledge Graph\" href=\"https:\/\/wordlift.io\/blog\/en\/entity\/artificial-intelligence\/\" data-id=\"http:\/\/data.wordlift.io\/wl0216\/entity\/artificial_intelligence;http:\/\/rdf.freebase.com\/ns\/m.0mkz;http:\/\/dbpedia.org\/resource\/Artificial_intelligence;http:\/\/data.wordlift.io\/wl0216\/entity\/artificial_intelligence_2;http:\/\/data.wordlift.io\/wl0216\/entity\/artificial_intelligence;http:\/\/data.wordlift.io\/wl0216\/entity\/artificial_intelligence_2;http:\/\/pt.dbpedia.org\/resource\/Intelig\u00eancia_artificial;http:\/\/hr.dbpedia.org\/resource\/Umjetna_inteligencija;http:\/\/hu.dbpedia.org\/resource\/Mesters\u00e9ges_intelligencia;http:\/\/id.dbpedia.org\/resource\/Kecerdasan_buatan;http:\/\/is.dbpedia.org\/resource\/Gervigreind;http:\/\/it.dbpedia.org\/resource\/Intelligenza_artificiale;http:\/\/ro.dbpedia.org\/resource\/Inteligen\u021b\u0103_artificial\u0103;http:\/\/be.dbpedia.org\/resource\/\u0428\u0442\u0443\u0447\u043d\u044b_\u0456\u043d\u0442\u044d\u043b\u0435\u043a\u0442;http:\/\/ru.dbpedia.org\/resource\/\u0418\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439_\u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442;http:\/\/bg.dbpedia.org\/resource\/\u0418\u0437\u043a\u0443\u0441\u0442\u0432\u0435\u043d_\u0438\u043d\u0442\u0435\u043b\u0435\u043a\u0442;http:\/\/sk.dbpedia.org\/resource\/Umel\u00e1_inteligencia;http:\/\/sl.dbpedia.org\/resource\/Umetna_inteligenca;http:\/\/ca.dbpedia.org\/resource\/Intel\u00b7lig\u00e8ncia_artificial;http:\/\/sq.dbpedia.org\/resource\/Inteligjenca_artificiale;http:\/\/sr.dbpedia.org\/resource\/\u0412\u0458\u0435\u0448\u0442\u0430\u0447\u043a\u0430_\u0438\u043d\u0442\u0435\u043b\u0438\u0433\u0435\u043d\u0446\u0438\u0458\u0430;http:\/\/sv.dbpedia.org\/resource\/Artificiell_intelligens;http:\/\/cs.dbpedia.org\/resource\/Um\u011bl\u00e1_inteligence;http:\/\/da.dbpedia.org\/resource\/Kunstig_intelligens;http:\/\/tr.dbpedia.org\/resource\/Yapay_zek\u00e2;http:\/\/de.dbpedia.org\/resource\/K\u00fcnstliche_Intelligenz;http:\/\/lt.dbpedia.org\/resource\/Dirbtinis_intelektas;http:\/\/lv.dbpedia.org\/resource\/M\u0101ksl\u012bgais_intelekts;http:\/\/uk.dbpedia.org\/resource\/\u0428\u0442\u0443\u0447\u043d\u0438\u0439_\u0456\u043d\u0442\u0435\u043b\u0435\u043a\u0442;http:\/\/en.dbpedia.org\/resource\/Artificial_intelligence;http:\/\/es.dbpedia.org\/resource\/Inteligencia_artificial;http:\/\/et.dbpedia.org\/resource\/Tehisintellekt;http:\/\/nl.dbpedia.org\/resource\/Kunstmatige_intelligentie;http:\/\/no.dbpedia.org\/resource\/Kunstig_intelligens;http:\/\/fi.dbpedia.org\/resource\/Teko\u00e4ly;http:\/\/fr.dbpedia.org\/resource\/Intelligence_artificielle;http:\/\/pl.dbpedia.org\/resource\/Sztuczna_inteligencja\" >AI<\/a> is a real game-changer in content marketing as long as we understand its limits. We need to create collaborative systems where humans are focused on high-level thinking (data preparation, training and validation) and AI does the heavy lifting (producing content on scale).<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"tasks\">What SEO tasks can we automate using automatic content generation?<\/h3>\r\n\r\n\r\n\r\n<p>We are currently working on the following areas:<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\"><li>Article first draft: writing content pieces that use text summarisation to provide editors with an initial text on a given topic.&nbsp;<\/li><li>FAQ generation: finding the relevant questions for a given query and attempting to write the answer to these questions.&nbsp;<\/li><li>Product description: writing targeted descriptions for products or categories of products for E-Commerce websites&nbsp;<\/li><li>Introductory paragraphs: writing an introduction for category pages<\/li><\/ol>\r\n\r\n\r\n\r\n<p><strong><em>What is your favourite use case? How are you going to use the code provided in this Colab? Drop <\/em><\/strong><a href=\"https:\/\/wordlift.io\/contact-us\"><strong><em>us an email<\/em><\/strong><\/a><strong><em> or <\/em><\/strong><a href=\"https:\/\/twitter.com\/cyberandy\"><strong><em>DM me on Twitter<\/em><\/strong><\/a><strong><em>.&nbsp;<\/em><\/strong><\/p>\r\n\r\n\r\n\r\n<p><\/p>\r\n\r\n\r\n\r\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Are you ready to <strong><a href=\"https:\/\/wordlift.io\/blog\/en\/web-stories\/automatically-generated-content\/\">automate content creation<\/a><\/strong> using Natural Language Generation?<\/p><p>Get in contact with our&nbsp;<a href=\"https:\/\/wordlift.io\/seo-management-service\/\"><strong>SEO management service<\/strong><\/a> team now!<\/p><\/blockquote>\r\n\r\n\r\n\t\t<div class=\"web-stories-list alignnone has-archive-link is-view-type-carousel is-style-default is-carousel\" data-id=\"1\">\n\t\t\t<div class=\"web-stories-list__inner-wrapper carousel-1\" style=\"--ws-story-max-width:185px\">\n\t\t\t\t\t\t\t\t\t<div class=\"web-stories-list__carousel carousel\" data-id=\"carousel-1\">\n\t\t\t\t\t\t\t\t\t<div class=\"web-stories-list__story\">\n\t\t\t\t\t\t\t<div class=\"web-stories-list__story-poster\">\n\t\t\t\t<a href=\"https:\/\/wordlift.io\/blog\/en\/web-stories\/automatically-generated-content\/\" >\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/11\/cropped-04674d9e25eb9d6744a9339f72ef1764050c78cd.jpeg\"\n\t\t\t\t\t\talt=\"Automatically generated content in SEO\"\n\t\t\t\t\t\twidth=\"185\"\n\t\t\t\t\t\theight=\"308\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/11\/cropped-04674d9e25eb9d6744a9339f72ef1764050c78cd.jpeg 640w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/11\/cropped-04674d9e25eb9d6744a9339f72ef1764050c78cd-225x300.jpeg 225w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/11\/cropped-04674d9e25eb9d6744a9339f72ef1764050c78cd-150x200.jpeg 150w\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsizes=\"(max-width: 640px) 100vw, 640px\"\n\t\t\t\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\t\tdecoding=\"async\"\n\t\t\t\t\t>\n\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\t\t<div class=\"web-stories-list__story-content-overlay\">\n\t\t\t\t\t\t\t<div class=\"story-content-overlay__title\">\n\t\t\t\t\tAutomatically generated content in SEO\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"web-stories-list__story\">\n\t\t\t\t\t\t\t<div class=\"web-stories-list__story-poster\">\n\t\t\t\t<a href=\"https:\/\/wordlift.io\/blog\/en\/web-stories\/streamlit-ai-seo-tools\/\" >\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/10\/cropped-84113411a493f812ababcff6c4462dd069a0e246-1.jpeg\"\n\t\t\t\t\t\talt=\"Streamlit and its impact on SEO Automation\"\n\t\t\t\t\t\twidth=\"185\"\n\t\t\t\t\t\theight=\"308\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/10\/cropped-84113411a493f812ababcff6c4462dd069a0e246-1.jpeg 640w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/10\/cropped-84113411a493f812ababcff6c4462dd069a0e246-1-225x300.jpeg 225w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/10\/cropped-84113411a493f812ababcff6c4462dd069a0e246-1-150x200.jpeg 150w\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsizes=\"(max-width: 640px) 100vw, 640px\"\n\t\t\t\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\t\tdecoding=\"async\"\n\t\t\t\t\t>\n\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\t\t<div class=\"web-stories-list__story-content-overlay\">\n\t\t\t\t\t\t\t<div class=\"story-content-overlay__title\">\n\t\t\t\t\tStreamlit and its impact on SEO Automation\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"web-stories-list__story\">\n\t\t\t\t\t\t\t<div class=\"web-stories-list__story-poster\">\n\t\t\t\t<a href=\"https:\/\/wordlift.io\/blog\/en\/web-stories\/podcast-knowledge-panels\/\" >\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/10\/cropped-70eea3a04177d7268e1fefd69af5573e1c95a896-6.jpeg\"\n\t\t\t\t\t\talt=\"Podcast knowledge panels\"\n\t\t\t\t\t\twidth=\"185\"\n\t\t\t\t\t\theight=\"308\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/10\/cropped-70eea3a04177d7268e1fefd69af5573e1c95a896-6.jpeg 640w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/10\/cropped-70eea3a04177d7268e1fefd69af5573e1c95a896-6-225x300.jpeg 225w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/10\/cropped-70eea3a04177d7268e1fefd69af5573e1c95a896-6-150x200.jpeg 150w\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsizes=\"(max-width: 640px) 100vw, 640px\"\n\t\t\t\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\t\tdecoding=\"async\"\n\t\t\t\t\t>\n\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\t\t<div class=\"web-stories-list__story-content-overlay\">\n\t\t\t\t\t\t\t<div class=\"story-content-overlay__title\">\n\t\t\t\t\tPodcast knowledge panels\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"web-stories-list__story\">\n\t\t\t\t\t\t\t<div class=\"web-stories-list__story-poster\">\n\t\t\t\t<a href=\"https:\/\/wordlift.io\/blog\/en\/web-stories\/google-big-moments\/\" >\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/10\/cropped-84e775691147167393f694b1a509d2460b4ef203.jpeg\"\n\t\t\t\t\t\talt=\"Google Big Moments\"\n\t\t\t\t\t\twidth=\"185\"\n\t\t\t\t\t\theight=\"308\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsrcset=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/10\/cropped-84e775691147167393f694b1a509d2460b4ef203.jpeg 640w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/10\/cropped-84e775691147167393f694b1a509d2460b4ef203-225x300.jpeg 225w, https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/10\/cropped-84e775691147167393f694b1a509d2460b4ef203-150x200.jpeg 150w\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsizes=\"(max-width: 640px) 100vw, 640px\"\n\t\t\t\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\t\tdecoding=\"async\"\n\t\t\t\t\t>\n\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\t\t<div class=\"web-stories-list__story-content-overlay\">\n\t\t\t\t\t\t\t<div class=\"story-content-overlay__title\">\n\t\t\t\t\tGoogle Big Moments\t\t\t\t<\/div>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<div tabindex=\"0\" aria-label=\"Previous\" class=\"glider-prev\"><\/div>\n\t\t\t\t\t<div tabindex=\"0\" aria-label=\"Next\" class=\"glider-next\"><\/div>\n\t\t\t\t\t\t\t<div class=\"web-stories-list__archive-link\">\n\t\t\t<a href=\"https:\/\/wordlift.io\/blog\/en\/web-stories\/\">\n\t\t\t\tView all stories\t\t\t<\/a>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\r\n\r\n\r\n\r\n\r\n<h5 class=\"wp-block-heading\">Credits and special thanks<\/h5>\r\n\r\n\r\n\r\n<p>All of this wouldn\u2019t happen without the continuous support from our community of clients and partners experimenting with WordLift to automate their SEO. A big thank you also goes to:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/github.com\/MathewAlexander\/T5_nlg\/commits?author=MathewAlexander\">Matthew Alexander<\/a> and his first blog post on data-to-text generation<\/li><li>T5 by <a href=\"https:\/\/github.com\/google-research\/bert\">Google Research Team<\/a> made super easy to use by <a href=\"https:\/\/twitter.com\/huggingface\">@HuggingFace<\/a> ?<\/li><li><a href=\"https:\/\/link.springer.com\/article\/10.1007\/s11023-020-09548-1#auth-Luciano-Floridi\">Luciano Floridi<\/a> &amp; <a href=\"https:\/\/link.springer.com\/article\/10.1007\/s11023-020-09548-1#auth-Massimo-Chiriatti\">Massimo Chiriatti<\/a> for writing <a href=\"https:\/\/link.springer.com\/article\/10.1007\/s11023-020-09548-1\"><em>GPT-3: Its Nature, Scope, Limits, and Consequences<\/em><\/a><em>, <\/em>shedding light on the limitations of GPT-3<\/li><li>The fantastic team working on WordLift Next Generation the R&amp;D project that we are conducting with the financial support received from Eurostars H2020 along with <a href=\"https:\/\/www.redlink.at\/\">Redlink GmbH<\/a>, the <a href=\"https:\/\/www.sti-innsbruck.at\/\">Semantic Technology Institute at the Department of Computer Science of the University of Innsbruck<\/a> and, <a href=\"https:\/\/www.salzburgerland.com\/\">SalzburgerLand Tourismus GmbH<\/a>&nbsp;<\/li><li><a href=\"http:\/\/www.teodorapetkova.com\/\">Teodora Petkova<\/a> and the M.A. Program in Content Strategy at FH JOANNEUM University of Applied Sciences Graz for being part of this experiment (<a href=\"https:\/\/twitter.com\/ContentGraz\">@ContentGraz<\/a>) ?<\/li><li><a href=\"https:\/\/www.paolobenanti.com\/\">Paolo Benanti<\/a> who opened my eyes with his long-term thinking about <a href=\"http:\/\/Algor-ethics: Artificial intelligence and ethical reflection\">Algor-ethics: Artificial intelligence and ethical reflection<\/a><\/li><li>My friend Hamlet Batista who would have explained all of this in a much simpler way and the amazing team at <a href=\"https:\/\/www.ranksense.com\/\">Ranksense<\/a><\/li><li>OpenAI, creators of GPT-3, for releasing CLIP and DALL-E (the encoder and decoder parts, specifically) <a href=\"https:\/\/github.com\/openai\/DALL-E\/\">https:\/\/github.com\/openai\/DALL-E\/<\/a> that I used to generate the featured image of this blog post &#8220;a self-writing book&#8221; <\/li><\/ul>\r\n\r\n\r\n\r\n\r\n\r\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Quick note: this blog post has been digitally processed and humanly reviewed but some parts of it have been produced using T5 and GPT-3.  <\/p><\/blockquote>\r\n\r\n\r\n\r\n<p><\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Using a text-to-text transfer transformer like Google\u2019s T5 we will fine-tune a model that will link structured information (i. e. metadata available in a knowledge graph about hospitals in Texas or product details for a merchant in New Zealand) with snippets of text.<\/p>\n","protected":false},"author":6,"featured_media":15855,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"wl_entities_gutenberg":"","_wlpage_enable":"","footnotes":""},"categories":[8],"tags":[],"wl_entity_type":[30,13,3303,12],"coauthors":[],"class_list":["post-15838","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-seo","wl_entity_type-article","wl_entity_type-creative-work","wl_entity_type-faq-page","wl_entity_type-thing"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>AI Text Generation for SEO using data-to-text: a practical example<\/title>\n<meta name=\"description\" content=\"Using Google&#039;s T5 text-to-text transfer transformer we will fine-tune a model for data-to-text generation for SEO using Python \ud83d\udc0d on Colab.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AI Text Generation for SEO using data-to-text: a practical example\" \/>\n<meta property=\"og:description\" content=\"Using Google&#039;s T5 text-to-text transfer transformer we will fine-tune a model for data-to-text generation for SEO using Python \ud83d\udc0d on Colab.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/\" \/>\n<meta property=\"og:site_name\" content=\"WordLift Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-05-13T20:27:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-05T13:57:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/Blog-Covers-39.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Andrea Volpini\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andrea Volpini\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/\"},\"author\":{\"name\":\"Andrea Volpini\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#\/schema\/person\/574352082cc71dab8d164410f1cabe0a\"},\"headline\":\"AI Text Generation for SEO: a practical example\",\"datePublished\":\"2021-05-13T20:27:15+00:00\",\"dateModified\":\"2022-07-05T13:57:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/\"},\"wordCount\":2139,\"publisher\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/Blog-Covers-39.jpg\",\"articleSection\":[\"seo\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/\",\"url\":\"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/\",\"name\":\"AI Text Generation for SEO using data-to-text: a practical example\",\"isPartOf\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/Blog-Covers-39.jpg\",\"datePublished\":\"2021-05-13T20:27:15+00:00\",\"dateModified\":\"2022-07-05T13:57:06+00:00\",\"description\":\"Using Google's T5 text-to-text transfer transformer we will fine-tune a model for data-to-text generation for SEO using Python \ud83d\udc0d on Colab.\",\"breadcrumb\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/#primaryimage\",\"url\":\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/Blog-Covers-39.jpg\",\"contentUrl\":\"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/Blog-Covers-39.jpg\",\"width\":1200,\"height\":1200,\"caption\":\"A self-writing book\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\/\/wordlift.io\/blog\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI Text Generation for SEO: a practical example\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#website\",\"url\":\"https:\/\/wordlift.io\/blog\/en\/\",\"name\":\"WordLift Blog\",\"description\":\"AI-Powered SEO\",\"publisher\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wordlift.io\/blog\/en\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#organization\",\"name\":\"WordLift\",\"url\":\"https:\/\/wordlift.io\/blog\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2017\/04\/logo-1.png\",\"contentUrl\":\"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2017\/04\/logo-1.png\",\"width\":152,\"height\":40,\"caption\":\"WordLift\"},\"image\":{\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#\/schema\/person\/574352082cc71dab8d164410f1cabe0a\",\"name\":\"Andrea Volpini\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/wordlift.io\/blog\/en\/#\/schema\/person\/image\/466a1652833e48ca11c81b363eba7c25\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6b9d3d311b50a8749201fe4b318907a8?s=96&d=mm&r=pg\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6b9d3d311b50a8749201fe4b318907a8?s=96&d=mm&r=pg\",\"caption\":\"Andrea Volpini\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AI Text Generation for SEO using data-to-text: a practical example","description":"Using Google's T5 text-to-text transfer transformer we will fine-tune a model for data-to-text generation for SEO using Python \ud83d\udc0d on Colab.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/","og_locale":"en_US","og_type":"article","og_title":"AI Text Generation for SEO using data-to-text: a practical example","og_description":"Using Google's T5 text-to-text transfer transformer we will fine-tune a model for data-to-text generation for SEO using Python \ud83d\udc0d on Colab.","og_url":"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/","og_site_name":"WordLift Blog","article_published_time":"2021-05-13T20:27:15+00:00","article_modified_time":"2022-07-05T13:57:06+00:00","og_image":[{"width":1200,"height":1200,"url":"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/Blog-Covers-39.jpg","type":"image\/jpeg"}],"author":"Andrea Volpini","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Andrea Volpini","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/#article","isPartOf":{"@id":"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/"},"author":{"name":"Andrea Volpini","@id":"https:\/\/wordlift.io\/blog\/en\/#\/schema\/person\/574352082cc71dab8d164410f1cabe0a"},"headline":"AI Text Generation for SEO: a practical example","datePublished":"2021-05-13T20:27:15+00:00","dateModified":"2022-07-05T13:57:06+00:00","mainEntityOfPage":{"@id":"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/"},"wordCount":2139,"publisher":{"@id":"https:\/\/wordlift.io\/blog\/en\/#organization"},"image":{"@id":"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/#primaryimage"},"thumbnailUrl":"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/Blog-Covers-39.jpg","articleSection":["seo"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/","url":"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/","name":"AI Text Generation for SEO using data-to-text: a practical example","isPartOf":{"@id":"https:\/\/wordlift.io\/blog\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/#primaryimage"},"image":{"@id":"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/#primaryimage"},"thumbnailUrl":"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/Blog-Covers-39.jpg","datePublished":"2021-05-13T20:27:15+00:00","dateModified":"2022-07-05T13:57:06+00:00","description":"Using Google's T5 text-to-text transfer transformer we will fine-tune a model for data-to-text generation for SEO using Python \ud83d\udc0d on Colab.","breadcrumb":{"@id":"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/#primaryimage","url":"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/Blog-Covers-39.jpg","contentUrl":"https:\/\/wordlift.io\/blog\/en\/wp-content\/uploads\/sites\/3\/2021\/05\/Blog-Covers-39.jpg","width":1200,"height":1200,"caption":"A self-writing book"},{"@type":"BreadcrumbList","@id":"https:\/\/wordlift.io\/blog\/en\/ai-text-generation-for-seo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/wordlift.io\/blog\/en\/"},{"@type":"ListItem","position":2,"name":"AI Text Generation for SEO: a practical example"}]},{"@type":"WebSite","@id":"https:\/\/wordlift.io\/blog\/en\/#website","url":"https:\/\/wordlift.io\/blog\/en\/","name":"WordLift Blog","description":"AI-Powered SEO","publisher":{"@id":"https:\/\/wordlift.io\/blog\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wordlift.io\/blog\/en\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/wordlift.io\/blog\/en\/#organization","name":"WordLift","url":"https:\/\/wordlift.io\/blog\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wordlift.io\/blog\/en\/#\/schema\/logo\/image\/","url":"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2017\/04\/logo-1.png","contentUrl":"https:\/\/mk0wordliftblog7j5te.kinstacdn.com\/wp-content\/uploads\/sites\/3\/2017\/04\/logo-1.png","width":152,"height":40,"caption":"WordLift"},"image":{"@id":"https:\/\/wordlift.io\/blog\/en\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/wordlift.io\/blog\/en\/#\/schema\/person\/574352082cc71dab8d164410f1cabe0a","name":"Andrea Volpini","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wordlift.io\/blog\/en\/#\/schema\/person\/image\/466a1652833e48ca11c81b363eba7c25","url":"https:\/\/secure.gravatar.com\/avatar\/6b9d3d311b50a8749201fe4b318907a8?s=96&d=mm&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6b9d3d311b50a8749201fe4b318907a8?s=96&d=mm&r=pg","caption":"Andrea Volpini"}}]}},"_wl_alt_label":["Natural Language Generation","natural language generation","Natural language generation"],"wl:entity_url":"http:\/\/data.wordlift.io\/wl0216\/post\/ai_text_generation_for_seo__a_practical_example","_links":{"self":[{"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/posts\/15838"}],"collection":[{"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/comments?post=15838"}],"version-history":[{"count":1,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/posts\/15838\/revisions"}],"predecessor-version":[{"id":22256,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/posts\/15838\/revisions\/22256"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/media\/15855"}],"wp:attachment":[{"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/media?parent=15838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/categories?post=15838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/tags?post=15838"},{"taxonomy":"wl_entity_type","embeddable":true,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/wl_entity_type?post=15838"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/wordlift.io\/blog\/en\/wp-json\/wp\/v2\/coauthors?post=15838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}