{"id":1785,"date":"2019-01-15T00:00:00","date_gmt":"2019-01-15T08:00:00","guid":{"rendered":"https:\/\/azure.microsoft.com\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre"},"modified":"2025-06-11T00:13:27","modified_gmt":"2025-06-11T07:13:27","slug":"pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/","title":{"rendered":"Pix2Story: Neural storyteller which creates machine-generated story in several literature genre"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Storytelling is at the heart of human nature. We were storytellers long before we were able to write, we shared our values and created our societies mostly through oral storytelling. Then, we managed to find the way to record and share our stories, and certainly more advanced ways to broadly share our stories; from Gutenberg\u2019s printing press to television, and the internet. Writing stories is not easy, especially if one must write a story just by looking at a picture in different literary genres.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Natural Language Processing (NLP) is a field that is driving a revolution in the computer-human interaction. We have seen the amazing accuracy we have today with computer vision, but we wanted to see if we could create a more natural and cohesive narrative showcasing NLP. We developed <a href=\"https:\/\/www.ailab.microsoft.com\/experiments\/7feda326-186c-494b-9b12-fbb41f1dce0c\" target=\"_blank\" rel=\"noreferrer noopener\">Pix2Story<\/a> a neural-storyteller web application on Azure that allows users to upload a picture and get a machine-generated story based on several literature genres. We based our work on several papers \u201c<a href=\"https:\/\/arxiv.org\/abs\/1506.06726\" target=\"_blank\" rel=\"noreferrer noopener\">Skip-Thought Vectors<\/a>,\u201d \u201c<a href=\"https:\/\/arxiv.org\/abs\/1502.03044\" target=\"_blank\" rel=\"noreferrer noopener\">Show, Attend and Tell: Neural Image Caption Generation with Visual Attention<\/a>,\u201d \u201c<a href=\"https:\/\/arxiv.org\/abs\/1506.06724\" target=\"_blank\" rel=\"noreferrer noopener\">Aligning Books and Movies: Towards Story-like Visual Explanations by Watching Movies and Reading Books<\/a>,\u201d and some repositories <a href=\"https:\/\/github.com\/ryankiros\/neural-storyteller\" target=\"_blank\" rel=\"noreferrer noopener\">neural storyteller<\/a>. The idea is to obtain the captions from the uploaded picture and feed them to the Recurrent Neural Network model to generate the narrative based on the genre and the picture.<\/p>\n\n\n\n<figure class=\"wp-block-image has-custom-border\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/d32d5d20-914c-443f-97a3-ba2cae8df446.gif\" alt=\"Pix2Story_Homepage-Carousel_580x326-v3\" style=\"border-radius:0px\" title=\"Pix2Story_Homepage-Carousel_580x326-v3\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-solution\">The solution<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Part of the process we have trained a visual semantic embedding model on the MS COCO captions dataset of 300.000 images to make sense of the visual input by analyzing the uploaded image and generating captions. We also transformed the captions and generate a narrative based on the selected genre: adventure, Sci-Fi, or thriller. For this, we trained for two weeks an encoder-decoder model on more than 2,000 novels. This training allows each passage of the novels to be mapped to a skip-thought vector, a way of embedding thoughts in vector space. This allowed us to understand not only words but the meaning of those words in context to reconstruct the surrounding sentences of an encoded passage. We used the new Azure Machine Learning Service as well as the Azure model management SDK with Python 3 to create the docker image with these models and deploy it using Azure Kubernetes Services (AKS) with GPU capability making the project ready to production. Let\u2019s see the process flow in detail.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"visual-semantic-embedding\">Visual semantic embedding<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The first part of the project is the one that transforms the input picture into captions. Captions briefly describe the picture as is shown in the example below.<\/p>\n\n\n\n<figure class=\"wp-block-image has-custom-border\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/72d075d0-d642-4e50-9433-6b9253b63dc7.webp\" alt=\"White dog sitting on green grass\" style=\"border-radius:0px\" title=\"White dog sitting on green grass\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A white dog that is looking at a Frisbee Small white dog with green and white bow tie on A white dog with black spots is sitting on the grass.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The model employed to generate this caption is composed by two different networks. First, one is a convolutional neural network to extract a set of feature vectors referred to as annotation vectors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The second part of the model is a long short-term memory (LSTM) network that produces a caption by generating one word at every time step conditioned on a context vector, the previously hidden state, and the previously generated words.<\/p>\n\n\n\n<figure class=\"wp-block-image has-custom-border\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/8f3becff-13ad-4e11-91ce-a8239b525e25.webp\" alt=\"Feature map\" style=\"border-radius:0px\" title=\"Feature map\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"skipthought-vectors\">Skipthought Vectors<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Skipthought Vectors by R. Kiros is a model that generates generic sentences representations that can be used in the different task. For this project, the idea is to train an encoder-decoder model that tries to reconstruct the surrounding sentences of an encoded passage using the continuity of text from books.<\/p>\n\n\n\n<figure class=\"wp-block-image has-custom-border\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/52ac209e-0965-46df-ae7f-41a01247a7a9.webp\" alt=\"Skipthought vectors\" style=\"border-radius:0px\" title=\"Skipthought vectors\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The model is an encoder-decoder model. The encoder is used to map a sentence into a vector. The decoder then conditions on this vector to generate a translation for the source sentence.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The vocabulary used has been expanded using google news pre-trained vectors by generating a linear regressor that maps words in the founded in books vocabulary to words in this vector.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"style-shifting\">Style shifting<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Attending to skipthoughts functioning if the sentences given to the encoder from the VSE are short descriptive sentences the final output will be a short sentence. For that reason, if the desired output is a more literary passage, we need to make a style shifting. That means to operate with skipthought vectors representations to set the input to the characteristics we want to induce in the output. The operation is the following:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Skipthoughts Decoder Input = Encoded Captions of the picture &#8211; Average All Captions Encoded + Encoded Passages with similar length and features as the output we expect.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"deployment\">Deployment<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This project has been deployed using Azure Machine Learning Services Workspaces to generate the Docker image with the files and all models involved in prediction. The deployment for consumption has been made using AKS to automatically scale the solution.<\/p>\n\n\n\n<figure class=\"wp-block-image has-custom-border\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/5b2dafee-b54e-4785-829f-e9dc9bccce0c.webp\" alt=\"image\" style=\"border-radius:0px\" title=\"image\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"train-your-own-model\">Train your own model<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"for-training-new-models\">For training new models:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Create conda environment:<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; gutter: false; title: ; notranslate\" title=\"\">\nconda env create --file environment.yml\n<\/pre><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Activate conda env:<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\nactivate storytelling\n<\/pre><\/div>\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Set paths to your books or texts and your training settings in config.py.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Run training.py to train an encoder, generate necessary files and train a decoder based on your texts.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Generate bias: Mean of encoded sentences and mean of encoded captions.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">To generate stories run the following on a python console:<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; auto-links: false; gutter: false; title: ; quick-code: false; notranslate\" title=\"\">\n>import generate\n>story_generator = generate.StoryGenerator()\n>story_generator.story(image_loc='path\/to\/your\/image')\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Congratulations! You should now have a fully working application to get started. Have fun testing the project and thank you for your contribution!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8220;Pix2Story- Neural Storyteller&#8221;-A web app that allows users to upload a picture and get an AI generated story based on several literary genres.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"additional-resources\">Additional resources<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/aka.ms\/pix2story\" target=\"_blank\" rel=\"noreferrer noopener\">AI Lab<\/a><\/li>\n\n\n\n<li class=\"wp-block-list-item\"><a href=\"https:\/\/pix2story.azurewebsites.net\" target=\"_blank\" rel=\"noreferrer noopener\">Playground<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">You can find the code, solution development process and all other details on <a href=\"https:\/\/github.com\/Microsoft\/ailab\/tree\/master\/Pix2Story\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We hope this post helps you get started with AI and motivates you to become an AI developer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Storytelling is at the heart of human nature. We were storytellers long before we were able to write, we shared our values and created our societies mostly through oral storytelling. Then, we managed to find the way to record and share our stories, and certainly more advanced ways to broadly share our stories; from Gutenberg\u2019s printing press to television, and the internet.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","footnotes":"","msx_community_cta_settings":[]},"categories":[1454,1485],"tags":[],"audience":[3057,3055,3056],"content-type":[],"product":[1493],"tech-community":[],"topic":[],"coauthors":[97],"class_list":["post-1785","post","type-post","status-publish","format-standard","hentry","category-ai-machine-learning","category-internet-of-things","audience-data-professionals","audience-developers","audience-it-implementors","product-azure-machine-learning","review-flag-1680286581-295","review-flag-1680286581-56","review-flag-1680286581-364","review-flag-2-1680286581-601","review-flag-3-1680286581-173","review-flag-machi-1680286585-314","review-flag-new-1680286579-546"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Pix2Story: Neural storyteller which creates machine-generated story in several literature genre | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"Storytelling is at the heart of human nature. We were storytellers long before we were able to write, we shared our values and created our societies mostly through oral storytelling. Then, we managed to find the way to record and share our stories, and certainly more advanced ways to broadly share our stories; from Gutenberg\u2019s printing press to television, and the internet.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pix2Story: Neural storyteller which creates machine-generated story in several literature genre | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"Storytelling is at the heart of human nature. We were storytellers long before we were able to write, we shared our values and created our societies mostly through oral storytelling. Then, we managed to find the way to record and share our stories, and certainly more advanced ways to broadly share our stories; from Gutenberg\u2019s printing press to television, and the internet.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Azure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/microsoftazure\" \/>\n<meta property=\"article:published_time\" content=\"2019-01-15T08:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-11T07:13:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/d32d5d20-914c-443f-97a3-ba2cae8df446.gif\" \/>\n<meta name=\"author\" content=\"Microsoft Azure\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@azure\" \/>\n<meta name=\"twitter:site\" content=\"@azure\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Microsoft Azure\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/microsoft-azure\/\",\"@type\":\"Person\",\"@name\":\"Microsoft Azure\"}],\"headline\":\"Pix2Story: Neural storyteller which creates machine-generated story in several literature genre\",\"datePublished\":\"2019-01-15T08:00:00+00:00\",\"dateModified\":\"2025-06-11T07:13:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/\"},\"wordCount\":944,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/d32d5d20-914c-443f-97a3-ba2cae8df446.gif\",\"articleSection\":[\"AI + machine learning\",\"Internet of things\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/\",\"name\":\"Pix2Story: Neural storyteller which creates machine-generated story in several literature genre | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/d32d5d20-914c-443f-97a3-ba2cae8df446.gif\",\"datePublished\":\"2019-01-15T08:00:00+00:00\",\"dateModified\":\"2025-06-11T07:13:27+00:00\",\"description\":\"Storytelling is at the heart of human nature. We were storytellers long before we were able to write, we shared our values and created our societies mostly through oral storytelling. Then, we managed to find the way to record and share our stories, and certainly more advanced ways to broadly share our stories; from Gutenberg\u2019s printing press to television, and the internet.\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#primaryimage\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/d32d5d20-914c-443f-97a3-ba2cae8df446.gif\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/d32d5d20-914c-443f-97a3-ba2cae8df446.gif\",\"width\":580,\"height\":326,\"caption\":\"graphical user interface, website\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI + machine learning\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/ai-machine-learning\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Pix2Story: Neural storyteller which creates machine-generated story in several literature genre\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"name\":\"Microsoft Azure Blog\",\"description\":\"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.\",\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\",\"name\":\"Microsoft Azure Blog\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"width\":512,\"height\":512,\"caption\":\"Microsoft Azure Blog\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/microsoftazure\",\"https:\/\/x.com\/azure\",\"https:\/\/www.instagram.com\/microsoftdeveloper\/\",\"https:\/\/www.linkedin.com\/company\/16188386\",\"https:\/\/www.youtube.com\/user\/windowsazure\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117\",\"name\":\"shakir\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"caption\":\"shakir\"},\"sameAs\":[\"https:\/\/azure.microsoft.com\"],\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Pix2Story: Neural storyteller which creates machine-generated story in several literature genre | Microsoft Azure Blog","description":"Storytelling is at the heart of human nature. We were storytellers long before we were able to write, we shared our values and created our societies mostly through oral storytelling. Then, we managed to find the way to record and share our stories, and certainly more advanced ways to broadly share our stories; from Gutenberg\u2019s printing press to television, and the internet.","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:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/","og_locale":"en_US","og_type":"article","og_title":"Pix2Story: Neural storyteller which creates machine-generated story in several literature genre | Microsoft Azure Blog","og_description":"Storytelling is at the heart of human nature. We were storytellers long before we were able to write, we shared our values and created our societies mostly through oral storytelling. Then, we managed to find the way to record and share our stories, and certainly more advanced ways to broadly share our stories; from Gutenberg\u2019s printing press to television, and the internet.","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2019-01-15T08:00:00+00:00","article_modified_time":"2025-06-11T07:13:27+00:00","og_image":[{"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/d32d5d20-914c-443f-97a3-ba2cae8df446.gif","type":"","width":"","height":""}],"author":"Microsoft Azure","twitter_card":"summary_large_image","twitter_creator":"@azure","twitter_site":"@azure","twitter_misc":{"Written by":"Microsoft Azure","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/microsoft-azure\/","@type":"Person","@name":"Microsoft Azure"}],"headline":"Pix2Story: Neural storyteller which creates machine-generated story in several literature genre","datePublished":"2019-01-15T08:00:00+00:00","dateModified":"2025-06-11T07:13:27+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/"},"wordCount":944,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/d32d5d20-914c-443f-97a3-ba2cae8df446.gif","articleSection":["AI + machine learning","Internet of things"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/","name":"Pix2Story: Neural storyteller which creates machine-generated story in several literature genre | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#primaryimage"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/d32d5d20-914c-443f-97a3-ba2cae8df446.gif","datePublished":"2019-01-15T08:00:00+00:00","dateModified":"2025-06-11T07:13:27+00:00","description":"Storytelling is at the heart of human nature. We were storytellers long before we were able to write, we shared our values and created our societies mostly through oral storytelling. Then, we managed to find the way to record and share our stories, and certainly more advanced ways to broadly share our stories; from Gutenberg\u2019s printing press to television, and the internet.","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#primaryimage","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/d32d5d20-914c-443f-97a3-ba2cae8df446.gif","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/01\/d32d5d20-914c-443f-97a3-ba2cae8df446.gif","width":580,"height":326,"caption":"graphical user interface, website"},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/pix2story-neural-storyteller-which-creates-machine-generated-story-in-several-literature-genre\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"AI + machine learning","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/ai-machine-learning\/"},{"@type":"ListItem","position":3,"name":"Pix2Story: Neural storyteller which creates machine-generated story in several literature genre"}]},{"@type":"WebSite","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","name":"Microsoft Azure Blog","description":"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.","publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization","name":"Microsoft Azure Blog","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","width":512,"height":512,"caption":"Microsoft Azure Blog"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/microsoftazure","https:\/\/x.com\/azure","https:\/\/www.instagram.com\/microsoftdeveloper\/","https:\/\/www.linkedin.com\/company\/16188386","https:\/\/www.youtube.com\/user\/windowsazure"]},{"@type":"Person","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117","name":"shakir","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4","url":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","caption":"shakir"},"sameAs":["https:\/\/azure.microsoft.com"],"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/"}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Azure Blog","distributor_original_site_url":"https:\/\/azure.microsoft.com\/en-us\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/comments?post=1785"}],"version-history":[{"count":2,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1785\/revisions"}],"predecessor-version":[{"id":41313,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1785\/revisions\/41313"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=1785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=1785"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=1785"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=1785"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=1785"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=1785"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=1785"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=1785"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=1785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}