{"id":14064,"date":"2018-02-07T09:15:18","date_gmt":"2018-02-07T16:15:18","guid":{"rendered":"https:\/\/www.fullcontact.com\/?p=14064"},"modified":"2022-04-21T02:02:21","modified_gmt":"2022-04-21T08:02:21","slug":"experimentation-leads-innovation-machine-learning-fullcontact","status":"publish","type":"post","link":"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/","title":{"rendered":"When Experimentation Leads to Innovation: Machine Learning at FullContact"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">At <a href=\"https:\/\/www.fullcontact.com\/\">FullContact<\/a>, we\u2019re always experimenting with new technologies and techniques. Machine learning has come into vogue as of late, and has shown some impressive results within our company and without. Recently, we had an opportunity to apply some machine learning to improve our handling of job title data we find throughout the web. The choice, however, was not an easy one. To someone unfamiliar with the technology, machine learning can seem complex, foreign, expensive, and hard. Training data, precision and recall, neural networks, scary-sounding academic papers &#8212; it\u2019s overwhelming. Given such a large investment, is it really the right choice? In this post, I\u2019ll try to explain our thought process at FullContact on solving a tough problem, and how we decided to use machine learning.<\/span><\/p>\n<h3>The Problem<\/h3>\n<p><span style=\"font-weight: 400;\">FullContact handles job title data in a variety of forms. Understanding job titles at a deep level is critical for contact search, analytics, and formatting for use in <a href=\"https:\/\/www.fullcontact.com\/developer\/enrich-api\/\">our APIs<\/a> and consumer products. One problem that we had historically not solved was department classification. Given a job title, we needed to classify it into a corporate department. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">For instance, a job title input of \u201csoftware engineer\u201d should return a department classification of \u201cengineering.\u201d \u201cController\u201d should return the \u201cfinance\u201d department. \u201cCustomer Success Manager\u201d is \u201cCustomer Support. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">This solution may seem simple, but it quickly becomes complicated after further thought. For instance, what rules could we use to classify a job title into the \u201cengineering\u201d department? Maybe if the job title contains the word \u201cengineer\u201d? This works for \u201csoftware engineer\u201d but fails for \u201cprogrammer,\u201d which should also be an engineering job. This approach classifies \u201csupport engineer\u201d as \u201cengineering,&#8221; when at many companies that position is a customer support job. The story is similar for many other professions, and simple rules like \u201ccontains the word engineer\u201d quickly become a quagmire of logic and exceptions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This was the state our department classification methodology. It worked for common job titles, but it was painful to maintain and had undefined behavior for job titles outside the norm. Addressing bugs in this system was usually \u201cadd another special case,\u201d because fixing the underlying logic was either not useful or too complex.<\/span><\/p>\n<h3>The Challenge<\/h3>\n<p><span style=\"font-weight: 400;\">After talking about the problem, we decided that it was worth trying a prototype using machine learning. This was not a decision made lightly. We were well aware of the drawbacks of machine learning:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">It\u2019s complex. Machine learning takes a lot of specialized knowledge. When something goes wrong, it can be hard to figure out why and how to improve the situation.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">It\u2019s data-hungry and expensive. Most machine learning paradigms require a large amount of data to serve as training data for the algorithm. Even with good data, it can take a lot of time to get good results as time is spent training, tweaking parameters, and then training again.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">It\u2019s easy to accrue technical debt. What happens if the developer on the project leaves? If you want the input to change the output slightly? The rules based approach, though complex, is \u201cjust code\u201d &#8212; if a developer with no additional context spends enough time with it, they\u2019ll come to a better understanding of the program. But the machine learning approach does not have the same easy tools for introspection as \u201cread this source code\u201d and requires more domain-specific knowledge about machine learning.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">These factors made machine learning a difficult task to take on. Yet, we also understood that machine learning could potentially solve our problem more elegantly than any \u201cbag of rules\u201d approach. There\u2019s a certain class of problems where machine learning does very well: <\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">When you have a lot of <a href=\"https:\/\/www.fullcontact.com\/data\/\">data<\/a> at your disposal. With minimal data, any machine learning approach is going to have trouble (especially with no evaluation test set). In our case, we had hundreds of gigabytes of job titles and job title description data. <\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">When you have the relevant expertise. It\u2019s easy to get lost in something more complex than you can handle (or more complex than the problem requires). We weren\u2019t going to try speech recognition or a Chess AI, but we had some relevant in-house Natural Language Processing expertise that made machine learning more realistic.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">When the logic is hard to describe. In traditional AI approaches, the human has to write out every piece of logic that the computer uses. In some cases, this logic is not easily expressed or easily discoverable. To understand this, sit down with a couple of example problems from your data, and try to figure out a solution using only the human brain. Try to explain the solution clearly and concisely. If it\u2019s not easy to explain, or there are multiple right answers, or it\u2019s not clear what the 100 percent correct answer is, machine learning algorithms may be able to navigate the ambiguity better than a rigid set of rules.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">When you can&#8217;t easily write code for 80 percent of inputs. If it\u2019s possible to write fairly simple, clean code that will handle 80 percent of cases correctly, consider just hard-coding or edge-casing the other 20 percent. For job department classification, we knew this wasn\u2019t the case. There\u2019s a huge diversity of titles.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">When you have no other choice. Machine learning is the \u201cHigh Interest Credit Card\u201d (https:\/\/research.google.com\/pubs\/pub43146.html) of technical debt. It\u2019s very powerful, but if there are traditional approaches that work just as well, use those instead.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">After reviewing this list, we decided that our problem fit the machine learning use case, and we went to work on a prototype. Going from nothing to a machine learning pipeline taught us many lessons through a process of trial and error. For instance:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Iterate as quickly as possible. You need to see results and be able to track their progress long before shipping to production. The entire process of machine learning is a constant cycle of iteration.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Using a test set is an absolute must. You can\u2019t tell if the changes you\u2019re making are an improvement if you can\u2019t measure actual performance.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Explore related work before trying to solve the problem. We used a lot of papers on job title normalization to help refine our process and ensure we were headed in the right direction.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Never underestimate the power of incremental improvements. Our first pass at job title department classification had 50% precision and 50% recall. We spent the entire rest of the project getting that number to 95%. <\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Following these general guidelines, our application of machine learning definitely paid off. We ended up with an algorithm that correctly classified the department of a job title in 88 percent of our test set (and likely much more than that in production contexts). The algorithm correctly classified job titles that we had never considered.<\/span><\/p>\n<h3>How it Works<\/h3>\n<p><span style=\"font-weight: 400;\">To understand the power of our machine learning classifier, we need explain how the job title department process works. We use a program called <a href=\"https:\/\/en.wikipedia.org\/wiki\/Word2vec\">word2vec<\/a> <\/span><span style=\"font-weight: 400;\">\u00a0to consume a large quantity of job title and job description data, observing how and where words appear near each other. The data is then used to train a neural network to assign a vector to every word in the dataset. The vectors have a variety of special characteristics, but the most obvious one is that words that are similar to each other have similar vectors (\u201crunning\u201d and \u201csprint\u201d are more similar to each other than \u201csprint\u201d and \u201ccake\u201d). <\/span><\/p>\n<p><span style=\"font-weight: 400;\">With our newly created data set, we have a metric for similarity between words. When we want to classify a job title, we combine the vectors tied to each word in a given job title to create an associated vector . We then compare the job title vector with programmer-defined vectors that represent each department (the vector for the department \u201cengineering\u201d might be close to the vectors for the words \u201cengineer,\u201d \u201cprogrammer,\u201dand \u201cdevelopment\u201d). The department vector that is the closest to the job title vector is considered the correct classification.<\/span><\/p>\n<h3>The Results<\/h3>\n<p><span style=\"font-weight: 400;\">The algorithm that results from this machine learning approach lead to behavior that is much more elegant and nuanced than previous methodologies. There are some straightforward examples:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201ccontroller\u201d is in the \u201cfinance\u201d department<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201csoftware engineer\u201d is in the \u201cengineering\u201d department<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201crecruiter\u201d is in the \u201cHR\u201d department<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">None of the answers came from having explicit rules. The associations were learned automatically by looking at how often words occur near each other from our training data. This saves programmers huge amounts of work considering every possible title, domain, and department, as well as the many ways people commonly express these job titles. It is resilient to minor changes in expression:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201csenior software engineer in test\u201d is still \u201cengineering\u201d<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201cinterim paralegal in residence\u201d is still \u201clegal\u201d <\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201cprogrammer,\u201d \u201cdeveloper,\u201d and \u201ccomputer engineer\u201d are all still \u201cengineering\u201d<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The resilience is due to the fact that low-signal words such as \u201cinterim\u201d are weighted less in determining the results. What is really impressive is the ability of the model to learn associations for rare words:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"> \u201cjavascript master\u201d is correctly categorized as \u201cengineering\u201d \u2014 it\u2019s unlikely an engineer would ever go out of their way to try to write a rule for \u201cjavascript\u201d in a job title.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201caccount manager\u201d is \u201csales\u201d, but \u201ccreative manager\u201d is \u201cmarketing\u201d<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201cpeople operations manager\u201d is \u201cHR\u201d, even though the job title contains \u201coperations\u201d, a completely different department at most companies<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201cseo strategist\u201d is \u201cmarketing\u201d<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201chead of ux\u201d is \u201cproduct\u201d, even though the term \u201cUX\u201d is only a few years old<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201csouthwest regional manager\u201d is correctly classified as \u201csales\u201d, even though the title itself contains no words that explicitly relate to sales.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">That said, the results are not perfect. <\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201cproperty manager\u201d is incorrectly classified as \u201cfinance\u201d<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201cproduct outreach coordinator\u201d is incorrectly classified as \u201cproduct\u201d instead of \u201cmarketing\u201d<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u201cremodeling consultant\u201d is classified as \u201cexecutive\u201d<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Many of these examples are understandable \u2014 \u201cproduct outreach coordinator\u201d contains \u201cproduct,\u201d which in this case actually isn\u2019t the product department. Others, like \u201cremodeling consultant,\u201d are a bit stranger, and unfortunately one of the drawbacks of our approach is that debugging bad word associations is difficult.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Overall, machine learning can be an incredibly powerful tool, but it has to be used in the right context. Its cost, complexity, and propensity for generating tech debt makes it no small undertaking. However, some problems, especially ones with complex and ambiguous solutions, can be solved more elegantly by machine learning than any other approach. Armed with the relevant expertise, a test set, and the willingness to grind for incremental improvements, the results can be quite impressive.<\/span><\/p>\n<p><em><span style=\"font-weight: 400;\">We\u2019ve been excited by our work so far, as well as the massive potential for improvement. \u00a0If you want to see the power of machine learning in the data in <a href=\"https:\/\/www.fullcontact.com\/developer\/enrich-api\/\">our APIs<\/a>, contact the FullContact support team (<\/span><a href=\"mailto:support@fullcontact.com\"><span style=\"font-weight: 400;\">support@fullcontact.com<\/span><\/a><span style=\"font-weight: 400;\">) to see a first-hand demonstration. And if you\u2019d like to help improve it, <a href=\"https:\/\/www.fullcontact.com\/careers\/\">consider joining our team<\/a><\/span><span style=\"font-weight: 400;\">. <\/span><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>At FullContact, we\u2019re always experimenting with new technologies and techniques. Machine learning has come into vogue as of late, and has shown some impressive results within our company and without. Recently, we had an opportunity to apply some machine learning to improve our handling of job title data we find throughout the web. The choice, [&hellip;]<\/p>\n","protected":false},"author":33,"featured_media":14065,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_improvement_type_select":"improve_an_existing","_thumb_yes_seoaic":false,"_frame_yes_seoaic":false,"seoaic_generate_description":"","seoaic_improve_instructions_prompt":"","seoaic_rollback_content_improvement":"","seoaic_idea_thumbnail_generator":"","thumbnail_generated":false,"thumbnail_generate_prompt":"","seoaic_article_description":"","seoaic_article_subtitles":[],"footnotes":""},"categories":[656,97],"tags":[281,85,72],"class_list":["post-14064","post","type-post","status-publish","format-standard","hentry","category-engineering","category-customer-experience","tag-engineering","tag-fullcontact","tag-devs"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.1 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>When Experimentation Leads to Innovation: Machine Learning at FullContact | FullContact<\/title>\n<meta name=\"description\" content=\"Recently, FullContact had an opportunity to apply some machine learning to improve our handling of job title data we find throughout the web.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"When Experimentation Leads to Innovation: Machine Learning at FullContact\" \/>\n<meta property=\"og:description\" content=\"Recently, FullContact had an opportunity to apply some machine learning to improve our handling of job title data we find throughout the web.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/\" \/>\n<meta property=\"og:site_name\" content=\"FullContact\" \/>\n<meta property=\"article:published_time\" content=\"2018-02-07T16:15:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-21T08:02:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.fullcontact.com\/wp-content\/uploads\/2020\/07\/party-data-blog-li.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Paris Mitton\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@fullcontact\" \/>\n<meta name=\"twitter:site\" content=\"@fullcontact\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Paris Mitton\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/\"},\"author\":{\"name\":\"Paris Mitton\",\"@id\":\"https:\/\/www.fullcontact.com\/#\/schema\/person\/e8738dbe7678722af2242b896db576bf\"},\"headline\":\"When Experimentation Leads to Innovation: Machine Learning at FullContact\",\"datePublished\":\"2018-02-07T16:15:18+00:00\",\"dateModified\":\"2022-04-21T08:02:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/\"},\"wordCount\":1827,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.fullcontact.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#primaryimage\"},\"thumbnailUrl\":\"\",\"keywords\":[\"engineering\",\"fullcontact\",\"developers\"],\"articleSection\":[\"Engineering\",\"Customer Experience\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/\",\"url\":\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/\",\"name\":\"When Experimentation Leads to Innovation: Machine Learning at FullContact | FullContact\",\"isPartOf\":{\"@id\":\"https:\/\/www.fullcontact.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#primaryimage\"},\"thumbnailUrl\":\"\",\"datePublished\":\"2018-02-07T16:15:18+00:00\",\"dateModified\":\"2022-04-21T08:02:21+00:00\",\"description\":\"Recently, FullContact had an opportunity to apply some machine learning to improve our handling of job title data we find throughout the web.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#primaryimage\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.fullcontact.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"When Experimentation Leads to Innovation: Machine Learning at FullContact\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.fullcontact.com\/#website\",\"url\":\"https:\/\/www.fullcontact.com\/\",\"name\":\"FullContact\",\"description\":\"Relationships, reimagined.\",\"publisher\":{\"@id\":\"https:\/\/www.fullcontact.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.fullcontact.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.fullcontact.com\/#organization\",\"name\":\"FullContact\",\"url\":\"https:\/\/www.fullcontact.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fullcontact.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.fullcontact.com\/wp-content\/uploads\/2019\/11\/fc-logo@2x.png\",\"contentUrl\":\"https:\/\/www.fullcontact.com\/wp-content\/uploads\/2019\/11\/fc-logo@2x.png\",\"width\":200,\"height\":38,\"caption\":\"FullContact\"},\"image\":{\"@id\":\"https:\/\/www.fullcontact.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/fullcontact\",\"https:\/\/www.linkedin.com\/company\/fullcontact-inc-\",\"https:\/\/www.youtube.com\/user\/FullContactAPI\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.fullcontact.com\/#\/schema\/person\/e8738dbe7678722af2242b896db576bf\",\"name\":\"Paris Mitton\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.fullcontact.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/18becb95b87bd8c2eae642bda616c8eebb31d1a041094730c2d6f04dd005ab00?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/18becb95b87bd8c2eae642bda616c8eebb31d1a041094730c2d6f04dd005ab00?s=96&d=mm&r=g\",\"caption\":\"Paris Mitton\"},\"url\":\"https:\/\/www.fullcontact.com\/blog\/author\/paris\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"When Experimentation Leads to Innovation: Machine Learning at FullContact | FullContact","description":"Recently, FullContact had an opportunity to apply some machine learning to improve our handling of job title data we find throughout the web.","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:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/","og_locale":"en_US","og_type":"article","og_title":"When Experimentation Leads to Innovation: Machine Learning at FullContact","og_description":"Recently, FullContact had an opportunity to apply some machine learning to improve our handling of job title data we find throughout the web.","og_url":"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/","og_site_name":"FullContact","article_published_time":"2018-02-07T16:15:18+00:00","article_modified_time":"2022-04-21T08:02:21+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.fullcontact.com\/wp-content\/uploads\/2020\/07\/party-data-blog-li.png","type":"image\/png"}],"author":"Paris Mitton","twitter_card":"summary_large_image","twitter_creator":"@fullcontact","twitter_site":"@fullcontact","twitter_misc":{"Written by":"Paris Mitton","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#article","isPartOf":{"@id":"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/"},"author":{"name":"Paris Mitton","@id":"https:\/\/www.fullcontact.com\/#\/schema\/person\/e8738dbe7678722af2242b896db576bf"},"headline":"When Experimentation Leads to Innovation: Machine Learning at FullContact","datePublished":"2018-02-07T16:15:18+00:00","dateModified":"2022-04-21T08:02:21+00:00","mainEntityOfPage":{"@id":"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/"},"wordCount":1827,"commentCount":0,"publisher":{"@id":"https:\/\/www.fullcontact.com\/#organization"},"image":{"@id":"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#primaryimage"},"thumbnailUrl":"","keywords":["engineering","fullcontact","developers"],"articleSection":["Engineering","Customer Experience"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/","url":"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/","name":"When Experimentation Leads to Innovation: Machine Learning at FullContact | FullContact","isPartOf":{"@id":"https:\/\/www.fullcontact.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#primaryimage"},"image":{"@id":"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#primaryimage"},"thumbnailUrl":"","datePublished":"2018-02-07T16:15:18+00:00","dateModified":"2022-04-21T08:02:21+00:00","description":"Recently, FullContact had an opportunity to apply some machine learning to improve our handling of job title data we find throughout the web.","breadcrumb":{"@id":"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#primaryimage","url":"","contentUrl":""},{"@type":"BreadcrumbList","@id":"https:\/\/www.fullcontact.com\/blog\/customer-experience\/experimentation-leads-innovation-machine-learning-fullcontact\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fullcontact.com\/"},{"@type":"ListItem","position":2,"name":"When Experimentation Leads to Innovation: Machine Learning at FullContact"}]},{"@type":"WebSite","@id":"https:\/\/www.fullcontact.com\/#website","url":"https:\/\/www.fullcontact.com\/","name":"FullContact","description":"Relationships, reimagined.","publisher":{"@id":"https:\/\/www.fullcontact.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fullcontact.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.fullcontact.com\/#organization","name":"FullContact","url":"https:\/\/www.fullcontact.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fullcontact.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.fullcontact.com\/wp-content\/uploads\/2019\/11\/fc-logo@2x.png","contentUrl":"https:\/\/www.fullcontact.com\/wp-content\/uploads\/2019\/11\/fc-logo@2x.png","width":200,"height":38,"caption":"FullContact"},"image":{"@id":"https:\/\/www.fullcontact.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/fullcontact","https:\/\/www.linkedin.com\/company\/fullcontact-inc-","https:\/\/www.youtube.com\/user\/FullContactAPI"]},{"@type":"Person","@id":"https:\/\/www.fullcontact.com\/#\/schema\/person\/e8738dbe7678722af2242b896db576bf","name":"Paris Mitton","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fullcontact.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/18becb95b87bd8c2eae642bda616c8eebb31d1a041094730c2d6f04dd005ab00?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/18becb95b87bd8c2eae642bda616c8eebb31d1a041094730c2d6f04dd005ab00?s=96&d=mm&r=g","caption":"Paris Mitton"},"url":"https:\/\/www.fullcontact.com\/blog\/author\/paris\/"}]}},"_links":{"self":[{"href":"https:\/\/www.fullcontact.com\/wp-json\/wp\/v2\/posts\/14064","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fullcontact.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fullcontact.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fullcontact.com\/wp-json\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fullcontact.com\/wp-json\/wp\/v2\/comments?post=14064"}],"version-history":[{"count":0,"href":"https:\/\/www.fullcontact.com\/wp-json\/wp\/v2\/posts\/14064\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fullcontact.com\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/www.fullcontact.com\/wp-json\/wp\/v2\/media?parent=14064"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fullcontact.com\/wp-json\/wp\/v2\/categories?post=14064"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fullcontact.com\/wp-json\/wp\/v2\/tags?post=14064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}