Much of the value of data comes from uncovering and communicating answers and new perspectives to stakeholders. To provide a narrative and better context behind the data, we visualize the data in Power BI.<\/li>\n<\/ol>\nThe machine learning engine<\/h3>\n To uncover answers and new perspectives on verbatim survey responses, we use various data processing activities and machine learning algorithms, which come together in the machine learning engine. Figure 3 shows the flow, which starts with input from data that\u2019s ingested into the data platform, and ends with output in the form of insights and visualization.<\/p>\nFigure 3. The machine learning engine<\/figcaption><\/figure>\nThe machine learning process that we use to analyze verbatim feedback typically follows these steps:<\/p>\n
\nWe start with text preprocessing.\u00a0<\/strong>This makes it easier to extract meaningful information for a given topic and helps us do more precise sentiment analysis. As part of preprocessing, we divide the text into sentences, while also simplifying and standardizing\u2014or normalizing\u2014different elements in the text.<\/li>\nAfter preprocessing, we extract key phrases, analyze sentiment, and look for deep semantic similarity.\u00a0<\/strong>These activities can be done in parallel. Data scientists provide sentiment analysis and semantic analysis at the sentence level, and topic modeling at the entire verbatim survey level.<\/li>\nAs the verbatim feedback is analyzed, it\u2019s mapped to one of the five experiences.\u00a0<\/strong>The business stakeholders who define the experiences also identify the associated tools. For example, for collaborating, you could have OneNote and Skype for Business (although Skype for Business also aligns with the meeting experience). This information guides the machine learning in understanding whether the feedback is tied to a specific experience.<\/li>\n<\/ol>\nImportance of data quality and text preprocessing activities<\/h4>\n When we build any automated procedure for text analysis, we need to ensure that the text data is good quality. This is because the quality of input data directly affects the machine learning results. Because most data quality checks are done during data ingestion, they\u2019re outside the scope of data science. But verbatim data\u2014ingested for analytics\u2014can have a subset of values that aren\u2019t valid, like question marks, \u201cno comment,\u201d \u201cnone,\u201d \u201cna,\u201d and others. We need to recognize this kind of data and disqualify it from analysis.<\/p>\n
After the data quality check, the verbatim data is prepared for machine learning algorithms. This is the preprocessing stage and is done in the machine learning engine. Text preprocessing involves:<\/p>\n
\nTokenize and validate sentences.<\/li>\n Normalize acronyms and abbreviations.<\/li>\n Lemmatize words, tag parts of speech, and extract n-grams.<\/li>\n<\/ul>\nTokenize and validate sentences<\/h5>\n WHAT<\/strong>:\u00a0Sentence tokenization<\/i>\u00a0ensures that each sentence from verbatim data goes through sentiment analysis. It separates sentences and attaches a unique sentence ID to each. Tokenized sentences are evaluated for quality to make sure that they have valuable information for further analysis.<\/p>\n WHY<\/strong>: Sentiment analysis can\u2019t separate sentences, so if there are two sentences in a verbatim response where one is positive and the other is negative, it can\u2019t provide a single sentiment score and polarity\u2014whether an opinion is positive, negative, or neutral . If the first sentence is very positive and the second sentence is equally negative, analyzing both sentences together results in a neutral polarity and sentiment score, which is incorrect. If sentences are analyzed separately, the polarity score is more accurate.<\/p>\nHOW<\/strong>: There are many open-source, rule-based algorithms that tokenize English grammar. The rule-based algorithms can\u2019t guarantee 100 percent accuracy, but they do a good job of recognizing end-of-sentence punctuation and separating sentences.<\/p>\nNormalize acronyms and abbreviations<\/h5>\n WHAT<\/strong>:\u00a0Normalization<\/i>\u00a0maps acronyms and abbreviations to a corresponding word list. For example, many users might refer to Skype for Business as SFB or S4B. To ensure that abbreviations are recognized by text-analysis algorithms, each tokenized sentence is normalized.<\/p>\n WHY<\/strong>: Normalization can improve the accuracy of many text-analysis algorithms. For example, what if a group of verbatim responses has 10 records for Skype for Business, 10 records for SFB, and 15 records for Surface? If terms aren\u2019t normalized, the text-mining algorithms might consider Surface as the most frequently mentioned product in the verbatim responses. Normalization would recognize 20 records for Skype for Business.<\/p>\nHOW<\/strong>: Currently, text is normalized by using a glossary of words and abbreviations. Acronyms and abbreviations are manually identified to ensure that normalization is as accurate as possible.<\/p>\nLemmatize words, tag parts of speech, and extract n-grams<\/h5>\n WHAT<\/strong>: The last step of preprocessing is preparing input for key phrase extraction and hashtagging. Lemmatization returns the base or dictionary form\u2014the lemma\u2014of a word. It changes plural words to singular, changes past tense verbs to present tense, and so on. For example, the lemma of \u201ckids\u201d is \u201ckid,\u201d \u201cchildren\u201d is \u201cchild,\u201d and \u201cheld\u201d is \u201chold.\u201d Part-of-speech tagging identifies nouns, verbs, adjectives, and adverbs, which helps extract information from sentences.<\/p>\nIn very simple terms, an n-gram is a collection of letters, words, and syllables. Extracted n-grams are used as input for hashtagging.<\/p>\n
WHY<\/strong>: Lemmatization ensures that words are converted to their base, or dictionary, forms. Like normalization, it can improve the accuracy of text-mining algorithms that use word count. Parts of speech and n-grams are used as input to the machine learning engine.<\/p>\nHOW<\/strong>: There are many open-source libraries that lemmatize, tag parts of speech, and extract n-grams.<\/p>\nThe machine learning algorithms we use, why, and how<\/h4>\n Given all the available algorithms, why did we choose to use key phrase extraction, sentiment analysis, and deep semantic similarity for this solution? Based on the type of data that we get\u2014which includes unstructured data from feedback in survey responses\u2014each algorithm helps us make sense of the text in different ways:<\/p>\n
\nAlgorithm 1: Key phrase extraction<\/li>\n Algorithm 2: Sentiment analysis<\/li>\n Algorithm 3: Deep semantic similarity<\/li>\n<\/ul>\nAlgorithm 1: Key phrase extraction<\/h5>\n WHAT<\/strong>: Key phrase extraction involves extracting structured information from unstructured text. The structured information consists of important topical words and phrases from verbatim survey responses. Key phrases concisely describe survey verbatim content, and are useful for categorizing, clustering, indexing, searching, and summarizing. Key phrases are then scored\/ranked.<\/p>\nAs part of key phrase extraction, we add labels or metadata tags\u2014hashtags\u2014usually on social network and blog services, which makes it easier for people to find specific themes or content. Hashtagging is a process of creating a meaningful label or combination of labels to best represent a verbatim survey response.<\/p>\n
WHY<\/strong>: The key phrases, hashtags, and associated score\/rank are used to interpret the survey language. For example, they help us find positive and negative phrases, and trending or popular topics.<\/p>\nHOW<\/strong>: Key phrase extraction has two steps. First, a set of words and phrases that convey the content of a document is identified. Second, these candidates are scored\/ranked and the best ones are selected as a document\u2019s key phrases. We use key phrase extraction application programming interfaces (APIs)\u2014both from Microsoft and open source.<\/p>\nHashtagging is also a two-step process. First, we normalize the input survey responses and remove non-essential words. Second, the labels are scored, based on how often they appear in other survey responses.<\/p>\n
Algorithm 2: Sentiment analysis<\/h5>\n WHAT<\/strong>: Sentiment analysis is an automated method of determining if text\u2014like verbatim feedback from surveys\u2014is positive, neutral, or negative, and to what degree. Sentiment analysis and text analytics reveal people\u2019s opinions about Microsoft products and services.<\/p>\nWHY<\/strong>: Sentiment analysis helps us detect what users like and dislike about products and services. It\u2019s not enough to know the main topics that people are concerned about. We need to know how strongly they feel\u2014whether positively or negatively. Sentiment analysis uncovers these feelings and helps us group survey responses into corresponding polarities\u2014positive, negative, or neutral\u2014for deeper text analysis.<\/p>\nHOW<\/strong>: Sentiment analysis is usually done with classification modeling. \u201cTrained\u201d data with positive, neutral, and negative labels is fed into different classification algorithms. After model training and selection, we run the final model on new verbatim data. The trained model determines the polarity and sentiment score of each piece of writing. We use the Text Analytics API in Cognitive Services for sentiment polarity and scoring.<\/p>\nAlgorithm 3: Deep semantic similarity<\/h5>\n WHAT:<\/strong>\u00a0Semantic similarity is a metric that\u2019s defined for a set of documents or terms, where the similarity score is based on similarity of meaning. It identifies whether verbatim sentences have common characteristics. For example, one person might use the word \u201cissue,\u201d whereas another person uses \u201cproblem.\u201d But the net result is a negative sentiment.<\/p>\nWHY<\/strong>: Deep semantic similarity is key for mapping survey responses into the five overarching experiences. It helps us understand how one experience influences the satisfaction of other experiences. It\u2019s more accurate than clustering and categorizing because it\u2019s based on meaning\u2014unlike other methods, which are based on similarity of format, number of letters, or words in common.<\/p>\nBefore a survey goes out, the business stakeholders tag each survey question based on the experience it\u2019s related to\u2014for example, the meeting experience. However, when someone answers a survey question, the response that a person gives could be related to the finding experience more than the meeting experience. In other words, survey respondents might express high or low satisfaction about a different experience than how something was initially tagged. Having this information helps pinpoint which experiences to enhance. Deep semantic similarity allows us to uncover and share these types of discoveries with stakeholders.<\/p>\n
HOW<\/strong>: Semantic similarity is measured based on the semantic distance between two terms. Semantic distance refers to how similar in meaning the terms are. First, all terms are converted into their lowest vocabulary form (for example, \u201csearching\u201d to \u201csearch\u201d), and then the distance between their semantic scores is measured.<\/p>\nAdvanced visualization techniques<\/h4>\n We choose visualization techniques that best represent the results and give the most insights. For this solution, we use Power BI dashboards and open-source visualization tools. For example, we use Power BI dashboards to show whether sentiment tied to survey questions and responses about a user experience was positive, neutral, or negative.<\/p>\n
Ability to operationalize and repeat<\/h3>\n Much of the business value of data science lies in:<\/p>\n
\nThe ability to make insights widely available and to repeat an end-to-end machine learning process as close as possible to the time when unstructured data is produced (after each survey, for example).<\/li>\n The ability to connect insights. For example, to predict what the user feedback will be, we can connect survey insights that we get from verbatim analysis combined with Helpdesk insights that we get from Helpdesk tickets.<\/li>\n<\/ul>\nHaving a robust data platform in place and a team of data engineers is key to enabling us to incorporate an end-to-end, repeatable machine learning process into our operations, so that we get the maximum business value.<\/p>\n
Best practices<\/h2>\n Along the way, we\u2019ve learned some valuable lessons that help make our data collection and analysis run smoothly:<\/p>\n
\nHave a methodical, clearly defined strategy.\u00a0<\/strong>A core part of our strategy is understanding the business context and questions that we need to answer. To chart our course, we always align with the five high-level experiences.<\/li>\nEnsure variety.\u00a0<\/strong>A good team needs diverse skill sets. Different perspectives and expertise yields deeper, richer insights. Typical skills required include machine learning, Data Lake, R and Python, and U-SQL.<\/li>\nFail fast\/learn fast.\u00a0<\/strong>We\u2019re always iterating based on what has and hasn\u2019t worked well.<\/li>\nReduce scope.\u00a0<\/strong>We don\u2019t want to overwhelm teams and executives with thousands of insights at one time. We focus on smaller, actionable, valuable pieces\u2014like sentiment analysis.<\/li>\nUse Power BI for self-service reporting.\u00a0<\/strong>Power BI makes data visualization and reporting capabilities easy and widely available. Anyone can generate a report without having to wait on other people.<\/li>\n<\/ul>\nSummary<\/h2>\n To enhance user experience across Microsoft products and services, we gather, process, and analyze data to learn where we can improve. We study products and services instrumentation. Also, we determine user sentiment by looking at data from user surveys that we distribute to employees and from Microsoft Helpdesk support data. We analyze text by using key phrase extraction, sentiment analysis, and deep semantic similarity algorithms. These methods and processes help us answer stakeholder questions, rank user satisfaction, and discover how an experience can be enhanced.<\/p>\n","protected":false},"excerpt":{"rendered":"
This content has been archived, and while it was correct at time of publication, it may no longer be accurate or reflect the current situation at Microsoft. Microsoft Digital is enhancing user experiences for Microsoft employees\u2014such as finding information and communicating and collaborating with coworkers. Using Azure Data Factory and Azure Data lake, we built […]<\/p>\n","protected":false},"author":146,"featured_media":11137,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"_hide_featured_on_single":false,"_show_featured_caption_on_single":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[1],"tags":[],"coauthors":[674],"class_list":["post-11136","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","m-blog-post"],"jetpack_publicize_connections":[],"yoast_head":"\n
Microsoft uses analytics and data science to enhance the user experience - Inside Track Blog<\/title>\n \n \n \n \n \n \n \n \n \n \n \n \n\t \n\t \n\t \n \n \n \n\t \n\t \n\t \n