{"id":6197,"date":"2019-03-20T17:12:25","date_gmt":"2019-03-20T17:12:25","guid":{"rendered":"https:\/\/cheesecakelabs.com\/blog\/?p=6197\/"},"modified":"2026-03-06T19:27:26","modified_gmt":"2026-03-06T19:27:26","slug":"take-develop-good-ai","status":"publish","type":"post","link":"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/","title":{"rendered":"What it takes to develop a good AI"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">We are living in the era of Artificial Intelligence since everyone is talking so much about how it will revolutionize our market and our lives. Well, I want to share today a use case in which I worked directly: creating a virtual attendant that teaches the end user to create a \u201cProject Model Canvas\u201d through conversations in Portuguese (PT-BR).<\/span><\/p>\n<p><!--more--><\/p>\n<p><span style=\"font-weight: 400;\">There are several tools on the market &#8211; the famous Chat Bots &#8211; that you can think of. The easier option would probably be paying for one of these services, but keep in mind that maintaining a flow of context, recognizing the user\u2019s back and forth in the conversation, and understanding referrals are something these tools currently do not do.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">They act as an IVR (Interactive Voice Response) and guide the user\u2019s conversation being active, such as: \u201cWhat are you going to eat today? Pizza or Hot dog? \u201c is very different from \u201cWhat are you going to do today?\u201d, where the customer is free to speak innumerable different answers.<\/span><\/p>\n<h1><b>First attempts<\/b><\/h1>\n<p><span style=\"font-weight: 400;\">The first attempt was to use IBM\u2019s Watson Conversation and insert several models of conversations. The first impact was to treat short answers &#8211; such as a simple \u201cyes\u201d &#8211; in the dialog models in multiple instances. The user\u2019s response would be simpler or equal to other places, and realized that the flow of context was not followed by the AI.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The following attempt was DialogFlow from Google, which gave support to create the context flow (in this case, called intentions). The thing is, Google does not have any of its <a href=\"https:\/\/cheesecakelabs.com\/blog\/machine-learning\/\" target=\"_blank\" rel=\"noopener\">Machine Learning<\/a> enabled for Portuguese. \u00a0A simple extra comma, or the lack of it, and the AI couldn&#8217;t correctly recognize the user\u2019s intention.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The conclusion was that this world of artificial intelligence for conversation was still a bit immature since there are many things to be tackled yet.<\/span><\/p>\n<h1><b>The corpus is the most important!<\/b><\/h1>\n<p><span style=\"font-weight: 400;\">How could this problem be solved? Creating our own virtual attendant! It started by making a relational database to store the phrases, intentions, entities, and context flow. By using some queries with Levenshtein, we realized in a few lines that our result was achievable.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Let\u2019s clog this database with examples of conversations and see where it gets. Clog with examples? Where can I find examples of conversations that are exactly what the attendant AI should respond to? The answer is: \u00a0stop writing code and go generate \u2013 or find \u2013 a corpus.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">And this is what I consider the biggest difference and the biggest obstacle in any intelligence to develop\/apply: the corpus that the AI \u200b\u200bwill use to train. The better your corpus, the smarter your AI will be. And in most cases, it is not enough to just put some initial data and then use &#8220;Machine Learning&#8221; to take the data somewhere.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Take the famous case of \u201cTay\u201d as an example: Microsoft AI that, in less than 24 hours, was already causing terror on Twitter with its controversial statements and was taken off the air. Training requires dedication, filtering, supervision, and follow-up.<\/span><\/p>\n<h1><b>Talk is cheap, show me the AI!<\/b><\/h1>\n<p><span style=\"font-weight: 400;\">In the end, the goal was achieved even without using the most famous API in the market, but I don&#8217;t think it was easy. To start with AI, you need to know programming, but if you ever want to develop it further, you need to know more about data mining, math, and a few other things.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you have questions or are \u00a0interested in knowing more about the whole process and the code, do not hesitate to contact me: natam.oliveira@ckl.io<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are living in the era of Artificial Intelligence since everyone is talking so much about how it will revolutionize our market and our lives. Well, I want to share today a use case in which I worked directly: creating a virtual attendant that teaches the end user to create a \u201cProject Model Canvas\u201d through [&hellip;]<\/p>\n","protected":false},"author":65,"featured_media":6198,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[432],"tags":[305],"class_list":["post-6197","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering","tag-tag-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What it takes to develop a good AI<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What it takes to develop a good AI\" \/>\n<meta property=\"og:description\" content=\"We are living in the era of Artificial Intelligence since everyone is talking so much about how it will revolutionize our market and our lives. Well, I want to share today a use case in which I worked directly: creating a virtual attendant that teaches the end user to create a \u201cProject Model Canvas\u201d through [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/\" \/>\n<meta property=\"og:site_name\" content=\"Cheesecake Labs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cheesecakelabs\" \/>\n<meta property=\"article:published_time\" content=\"2019-03-20T17:12:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-06T19:27:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2019\/03\/Blogpost-Natam.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Cheesecake Labs\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:site\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/\"},\"author\":{\"name\":\"Natam Oliveira\"},\"headline\":\"What it takes to develop a good AI\",\"datePublished\":\"2019-03-20T17:12:25+00:00\",\"dateModified\":\"2026-03-06T19:27:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/\"},\"wordCount\":612,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2019\/03\/Blogpost-Natam.png\",\"keywords\":[\"development\"],\"articleSection\":[\"Engineering\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/\",\"name\":\"What it takes to develop a good AI\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2019\/03\/Blogpost-Natam.png\",\"datePublished\":\"2019-03-20T17:12:25+00:00\",\"dateModified\":\"2026-03-06T19:27:26+00:00\",\"author\":{\"@type\":\"person\",\"name\":\"Natam Oliveira\"},\"breadcrumb\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#primaryimage\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2019\/03\/Blogpost-Natam.png\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2019\/03\/Blogpost-Natam.png\",\"width\":2000,\"height\":720,\"caption\":\"A robot's face silhouette with a text box inside it.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cheesecakelabs.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What it takes to develop a good AI\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/\",\"name\":\"Cheesecake Labs\",\"description\":\"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"name\":\"Natam Oliveira\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/06\/1665394374251.jpeg\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/06\/1665394374251.jpeg\",\"caption\":\"Natam Oliveira\"},\"description\":\"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/autor\/natam-2\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What it takes to develop a good AI","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:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/","og_locale":"en_US","og_type":"article","og_title":"What it takes to develop a good AI","og_description":"We are living in the era of Artificial Intelligence since everyone is talking so much about how it will revolutionize our market and our lives. Well, I want to share today a use case in which I worked directly: creating a virtual attendant that teaches the end user to create a \u201cProject Model Canvas\u201d through [&hellip;]","og_url":"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/","og_site_name":"Cheesecake Labs","article_publisher":"https:\/\/www.facebook.com\/cheesecakelabs","article_published_time":"2019-03-20T17:12:25+00:00","article_modified_time":"2026-03-06T19:27:26+00:00","og_image":[{"width":2000,"height":720,"url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2019\/03\/Blogpost-Natam.png","type":"image\/png"}],"author":"Cheesecake Labs","twitter_card":"summary_large_image","twitter_creator":"@cheesecakelabs","twitter_site":"@cheesecakelabs","twitter_misc":{"Written by":null,"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#article","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/"},"author":{"name":"Natam Oliveira"},"headline":"What it takes to develop a good AI","datePublished":"2019-03-20T17:12:25+00:00","dateModified":"2026-03-06T19:27:26+00:00","mainEntityOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/"},"wordCount":612,"commentCount":0,"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2019\/03\/Blogpost-Natam.png","keywords":["development"],"articleSection":["Engineering"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/","url":"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/","name":"What it takes to develop a good AI","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#primaryimage"},"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2019\/03\/Blogpost-Natam.png","datePublished":"2019-03-20T17:12:25+00:00","dateModified":"2026-03-06T19:27:26+00:00","author":{"@type":"person","name":"Natam Oliveira"},"breadcrumb":{"@id":"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#primaryimage","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2019\/03\/Blogpost-Natam.png","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2019\/03\/Blogpost-Natam.png","width":2000,"height":720,"caption":"A robot's face silhouette with a text box inside it."},{"@type":"BreadcrumbList","@id":"https:\/\/cheesecakelabs.com\/blog\/take-develop-good-ai\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cheesecakelabs.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What it takes to develop a good AI"}]},{"@type":"WebSite","@id":"https:\/\/cheesecakelabs.com\/blog\/#website","url":"https:\/\/cheesecakelabs.com\/blog\/","name":"Cheesecake Labs","description":"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","name":"Natam Oliveira","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/06\/1665394374251.jpeg","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2022\/06\/1665394374251.jpeg","caption":"Natam Oliveira"},"description":"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.","url":"https:\/\/cheesecakelabs.com\/blog\/autor\/natam-2\/"}]}},"_links":{"self":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/6197","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/comments?post=6197"}],"version-history":[{"count":3,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/6197\/revisions"}],"predecessor-version":[{"id":13457,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/6197\/revisions\/13457"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media\/6198"}],"wp:attachment":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media?parent=6197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/categories?post=6197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/tags?post=6197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}