{"id":235453,"date":"2015-04-09T06:00:00","date_gmt":"2015-04-09T06:00:00","guid":{"rendered":"https:\/\/blogs.technet.microsoft.com\/inside_microsoft_research\/2015\/04\/09\/probabilistic-programming-goes-large-scale-from-reducing-email-clutter-to-any-machine-learning-task\/"},"modified":"2016-07-20T07:29:23","modified_gmt":"2016-07-20T14:29:23","slug":"probabilistic-programming-goes-large-scale-from-reducing-email-clutter-to-any-machine-learning-task","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/research\/blog\/probabilistic-programming-goes-large-scale-from-reducing-email-clutter-to-any-machine-learning-task\/","title":{"rendered":"Probabilistic programming goes large scale: From reducing email clutter to any machine learning task"},"content":{"rendered":"<p class=\"posted-by\">Posted by <span class=\"author\">George Thomas Jr.<\/span><\/p>\n<p>How is it you seem to be spending more and more time every day sifting through and prioritizing email messages? According to research by The Radicati Group, Inc., the legitimate emails you receive \u2014\u00a0already upwards of 100 per day \u2014\u00a0will only continue to increase. So how can you stem the tide of information overload without sacrificing more of your already precious time?<\/p>\n<p>That&#8217;s where probabilistic programming becomes relevant to Microsoft&#8217;s efforts to enhance productivity. In what is believed to be the first large-scale commercial use of this innovative programming paradigm, a recently released feature in Office 365 called <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" title=\"Clutter\" href=\"http:\/\/mashable.com\/2014\/03\/31\/office-365-outlook-web-app\/\" target=\"_blank\">Clutter<span class=\"sr-only\"> (opens in new tab)<\/span><\/a> intelligently learns which emails matter most to you and sorts them accordingly, filtering those less-urgent emails into a Clutter folder and allowing users to focus on the most immediately important emails.<\/p>\n<p><img decoding=\"async\" style=\"margin-left: auto; margin-right: auto;\" title=\"Probabilistic programming solves inbox clutter\" src=\"https:\/\/msdnshared.blob.core.windows.net\/media\/TNBlogsFS\/prod.evol.blogs.technet.com\/CommunityServer.Blogs.Components.WeblogFiles\/00\/00\/00\/90\/35\/clutter-hover-550.jpg\" alt=\"Probabilistic programming solves inbox clutter\" \/><\/p>\n<p>Given that computer programming is based on precision coding, &#8220;<a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" title=\"probabilistic programming\" href=\"https:\/\/en.wikipedia.org\/wiki\/Probabilistic_programming_language\" target=\"_blank\">probabilistic programming<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>&#8221; may seem like an oxymoron, but probability and uncertainty actually are key to its charm, especially when applied to <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" title=\"Machine Learning research at Microsoft\" href=\"http:\/\/research.microsoft.com\/en-us\/about\/our-research\/machine-learning.aspx\" target=\"_blank\">machine learning<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>.<\/p>\n<p>&#8220;It&#8217;s a way of doing machine learning without writing algorithms,&#8221; says <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" title=\"John Winn\" href=\"http:\/\/research.microsoft.com\/en-us\/people\/jwinn\/\" target=\"_blank\">John Winn<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, a Principal Researcher at <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" title=\"Microsoft's research lab in Cambridge, U.K.\" href=\"http:\/\/research.microsoft.com\/en-us\/labs\/cambridge\/default.aspx\" target=\"_blank\">Microsoft&#8217;s research lab in Cambridge, U.K.<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, whose team collaborated on the development of Clutter.<\/p>\n<p>In standard computer programs, variables have set values, but in probabilistic programs, variables can have uncertain values. For example, a variable could have a value <i>some-number-between-1-and-100<\/i>. This ability allows for <i>don&#8217;t-know<\/i> variables in the program, the values of which you want to learn from data.<\/p>\n<p>Probabilistic programming is a method of reasoning backwards from given data by assuming it was the output of the program with some setting of the <i>don&#8217;t-know<\/i> variables. This lets you learn about the value of these variables, without having to write a machine learning algorithm.<\/p>\n<p>One tool for probabilistic programming is <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" title=\"Infer.NET\" href=\"http:\/\/research.microsoft.com\/en-us\/um\/cambridge\/projects\/infernet\/\" target=\"_blank\">Infer.NET<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, a .NET compiler and runtime Winn and his colleagues created and in turn applied to the development of Clutter.<\/p>\n<p>&#8220;You write a simulator of the world, which is a probabilistic program, and Infer.NET takes that program and runs it backwards,&#8221; he says.<\/p>\n<p>The machine learning underlying Clutter examines how users prioritize email and, over time, learns from users&#8217; patterns and infers which emails can automatically be sorted into the Clutter folder for later reading, thus reducing inbox clutter.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/uML5kmH5DYE\" width=\"560\" height=\"315\" frameborder=\"0\"><\/iframe><\/p>\n<p>Clutter product manager Jim Edelen says the feature is among users&#8217; favorite of Outlook in <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" title=\"Office 365\" href=\"http:\/\/products.office.com\/en-us\/office-365-personal\" target=\"_blank\">Office 365<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, with customers proactively singing its praises.<\/p>\n<p>&#8220;I&#8217;ve worked on few other features like Clutter,&#8221; adds Kumar Venkateswar, also a Clutter product manager. &#8220;Infer.NET has created a productivity-enhancing experience that users describe as &#8216;life-changing!'&#8221;<\/p>\n<p>The benefits of large-scale probabilistic programming are plentiful, Winn says. &#8220;It&#8217;s less coding, which allows rapid prototyping, makes it much faster to develop machine learning systems, is easier to debug \u2014 there are tons of advantages.\u201d<\/p>\n<p>Winn says his team is continuing to enhance Clutter and notes potential applications of this technology in Bing and Office, as well as other Microsoft products, though he can&#8217;t share any details yet.<\/p>\n<p>Still, he says, &#8220;We&#8217;re very excited about where this technology is going and what we can do with it next. Clutter is just the beginning of what we can do with probabilistic programming. It&#8217;s a new way of writing programs. You can use it to do any machine learning task.&#8221;<\/p>\n<p>See also: <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" title=\"Microsoft's Machine Learning and Perception research group\" href=\"http:\/\/research.microsoft.com\/mlp\/\" target=\"_blank\">Microsoft&#8217;s Machine Learning and Perception research group<span class=\"sr-only\"> (opens in new tab)<\/span><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Posted by George Thomas Jr. How is it you seem to be spending more and more time every day sifting through and prioritizing email messages? According to research by The Radicati Group, Inc., the legitimate emails you receive \u2014\u00a0already upwards of 100 per day \u2014\u00a0will only continue to increase. So how can you stem the [&hellip;]<\/p>\n","protected":false},"author":30766,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","msr-author-ordering":[],"msr_hide_image_in_river":0,"footnotes":""},"categories":[194488],"tags":[200951,201989,202251,186418,202505,196435,196707,203385,204819],"research-area":[13556,13560],"msr-region":[],"msr-event-type":[],"msr-locale":[268875],"msr-post-option":[],"msr-impact-theme":[],"msr-promo-type":[],"msr-podcast-series":[],"class_list":["post-235453","post","type-post","status-publish","format-standard","hentry","category-program-languages-and-software-engineering","tag-clutter","tag-infer-net","tag-john-winn","tag-machine-learning","tag-machine-learning-and-perception-group","tag-microsoft-research-cambridge","tag-office-365","tag-probabilistic-programming","tag-programming-languages-and-software-engineering","msr-research-area-artificial-intelligence","msr-research-area-programming-languages-software-engineering","msr-locale-en_us"],"msr_event_details":{"start":"","end":"","location":""},"podcast_url":"","podcast_episode":"","msr_research_lab":[],"msr_impact_theme":[],"related-publications":[],"related-downloads":[],"related-videos":[],"related-academic-programs":[],"related-groups":[],"related-projects":[170935],"related-events":[],"related-researchers":[],"msr_type":"Post","byline":"","formattedDate":"April 9, 2015","formattedExcerpt":"Posted by George Thomas Jr. How is it you seem to be spending more and more time every day sifting through and prioritizing email messages? According to research by The Radicati Group, Inc., the legitimate emails you receive \u2014\u00a0already upwards of 100 per day \u2014\u00a0will&hellip;","locale":{"slug":"en_us","name":"English","native":"","english":"English"},"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts\/235453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/users\/30766"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/comments?post=235453"}],"version-history":[{"count":1,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts\/235453\/revisions"}],"predecessor-version":[{"id":235619,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/posts\/235453\/revisions\/235619"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=235453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/categories?post=235453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/tags?post=235453"},{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=235453"},{"taxonomy":"msr-region","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-region?post=235453"},{"taxonomy":"msr-event-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-event-type?post=235453"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=235453"},{"taxonomy":"msr-post-option","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-post-option?post=235453"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=235453"},{"taxonomy":"msr-promo-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-promo-type?post=235453"},{"taxonomy":"msr-podcast-series","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-podcast-series?post=235453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}