Jared Matfess's Blog

Having fun with SharePoint, Office 365, and Microsoft Azure

Monitoring Yammer Conversation Content with Microsoft Flow & Cognitive Services — July 7, 2018

Monitoring Yammer Conversation Content with Microsoft Flow & Cognitive Services

I’m currently working with a client on preparing to roll-out Yammer as part of a new Employee Portal project. One of the key project objectives is to help drive employee engagement through this new portal however there are executives who are concerned with how employees might use their new found digital voice. The plan is to build a “Voice of the Employee” Yammer group to drive those connections and leverage the Modern Yammer webpart embedded in the page to surface those conversations. Yammer does offer the ability to configure “naughty words” and alert an administrator if those are triggered however those can also result in false positive responses. As I pondered how I might be able to help appease some of the executives’ concerns with how Yammer might be misused, I started to wonder if perhaps I might be able to leverage technology to help better detect misuse of Yammer – and that’s how I came up with this proof of concept.

First off, you’re going to need access to Azure and specifically to provision an instance of Text Analytics which will be used to detect the sentiment of the text that is posted to Yammer. Using Machine Learning, Microsoft’s Cognitive Services will extract key phrases from the text and provide a score based on data gathered to assess the sentiment of what the person had typed.

TextAnalytics

When you click create you’ll give the service a name, assign it to a subscription, decide on which datacenter to run the service from, which resource group to add it to, and then finally allows you to pick the pricing tier.

Microsoft is rather generous in providing you 5,000 transactions per month for free which is great for getting you going. At the next level of 25K transactions (calls to the Text Analytics API) you would be charged $74.71 (as of 7/6/18) which will likely go down as more people are on the service. You can see the various pricing tiers below as of when this blog post was written.

CognitiveServicesPricing.png

After Azure finishes provisioning your resource you’ll want to grab your Keys which will be used later to setup Flow to be able to connect to Text Analytics and receive a sentiment score.

Keys.png

Now comes the fun part! We’re going to hop into Microsoft Flow and create our awesome workflow!

You’re going to start from a blank template and have the trigger action be when there is a new message in a group. You’ll configure the action to point to your Yammer instance and select the appropriate group which you will be monitoring.

YammerMessagePosted.png

The next action is to Detect Sentiment which you will configure using the information you received from Azure. You’ll name the connection, provide the account key from Azure, and then provide the Site URL which is the Text Analytics API based on the region where you provisioned your service.

TextAnalytics.png

Example of API:

API.png

Once you’ve created the connection you’ll want to have it reference the Message Text value from the Yammer post.

DetectSentiment.png

Your next step is to add a condition to check and see if the score received back from Text Analytics is less than .3 which would indicate that the post is negative. Text Analytics uses a machine learning classification algorithm to generate a sentiment score between 0 and 1. Scores closer to 1 indicate positive sentiment, while scores closer to 0 indicate negative sentiment. I noticed another Flow template available which leveraged Text Analytics for detecting negative Tweets and they also used .3 as their negative threshold – so for consistency sake, let’s follow their lead!

Condition-Sentiment.png

If you click on Edit in advanced mode you can copy & paste the line below:

@less(body(‘Detect_Sentiment’)?[‘score’], 0.3)

If the text meets the condition of being less than .3, then I perform two actions:

  1. I get the user details of the person who made the post
  2. I lookup that person’s manager by passing the User Email variable fromt he previous Get User Details action. I’m sure you know where this is going! 🙂

GetUser&Manager.png

Finally, I have an action that sends an e-mail to both the Corporate Communications admin who wants to be notified of these negative posts. Second, I CC the user’s manager so that they are also aware of what has taken place on Yammer.

So obviously this is very customizable to meet your needs, but I merely coded in the “To” line for the person or shared mailbox that is monitoring Yammer content along with a subject line to let them know it’s a negative message that was posted.

In the body I provide the person who caused the offense, the message they posted, and then a link to the conversation thread.

NegativeYammerEmail

Just so you can see what happens when the data is passed to Text Analytics – notice the post I added to Yammer was “Super duper stupid” which was given a score of .221 (with a lot of extra numbers) which pushes it below the .3 threshold that was set.

BadSentiment.png

To get a little meaner I submitted an additional post on Yammer which said “Our executives are so stupid” which if you’ll notice received an even lower score meaning that there’s a higher probability of this post being negative.

ExecutivesAreStupid.png

So a couple of thoughts about this setup:

  1. You definitely do not want to run this type of a Flow for all your Yammer groups, that will definitely become expensive as adoption increases.
  2. There is a lag between when someone posts on Yammer and when your Flow fires. This can mean a potentially negative message is visible for a few minutes. Testing in my O365 Developer tenant, I found that most of the time the Flow ran within 3-4 minutes of the post being made in the group.
  3. I really think this is the type of thing you might setup “in the beginning of Yammer” to help quell the fear of those anxious executives that feel that employees may misuse Yammer.

When I look at Yammer as a product I really do focus on the positive impact that it can have on an organization, while respecting the fact that there is always the possibility of the platform being misused.

One of the interesting things to consider is how you could perhaps leverage Cognitive Services to catch a negative message before it’s even posted to Yammer. What if as a user is typing it alerted them that what they might be posting could be perceived as negative, remind them of the social media policy they signed, reinforce the consequences of platform misuse. Extend that same thought to Outlook and have it quarantine any e-mail that you are about to send that is snarky and perhaps unprofessional. Imagine being able to catch those moments before they happen using something like Text Analytics could be quite powerful!

Very cool stuff indeed!

UPDATE: I’ve submitted the following User Voice for Microsoft’s consideration https://yammer.uservoice.com/forums/399627-yammer/suggestions/34781296-leverage-microsoft-cognitive-services-for-sentimen

 

Yammering about the new O365 Community — July 17, 2016

Yammering about the new O365 Community

For those of you who know me, I’m a little sarcastic with a pretty dry sense of humor. Friday night I was scanning my Twitter feed and noticed that Naomi Moneypenny had put out an article on the new O365 Community and how it was not on Yammer. I had seen the blog post out on the Office Blogs site and had tagged it as something I was going to peruse during my Saturday morning coffee & catch up on news time. I’m a big fan of Naomi, she’s absolutely brilliant and her observations are incredibly insightful – so I decided to check her post out before continuing on with my Friday night plans of yard work & various chores. As I had suspected it was really sharp article and she pointed out a really valid point for why it makes sense to now have the O365 Community in Yammer – it completely eliminates the barrier to entry. You can choose to browse it anonymously or register with your Microsoft account so that you an engage in the community. She also pointed out that by enabling anonymous access would mean that the search engines would be able to index the content as well, making it even more valuable for those looking for information about O365.

I have a love/hate relationship with Yammer and I’m slightly conservative when talking to clients about it. From my perspective it can be an incredibly useful tool within a Corporate environment where you have the appropriate Power User base in place to ensure that answers and/or ideas are being captured and somehow logged into a knowledge management tool to help eventually break a cycle of everyone blasting out questions to an organization. I like it for the remote “in the field” workers that are capturing information and posting it for those at their desks to analyze and provide input where necessary. I’m not a huge fan of it for the large scale “chaotic” implementations similar to what we have with the O365 Network & Groups. Honestly, what we have today is kind of a mess.. There are groups for different things – Development, IT Pro, Client-side Development, Patterns & Practices, the list goes on and on. I’m not against having all those groups but finding groups is a bit of guessing and/or wasted time searching. There’s also lack of real ownership which is kind of the Yammer model, but this doesn’t always work with large groups. There’s the occasional message about, “can’t wait to see where <insert person here> takes this group” – which undoubtedly leads to 1-2 posts by that person and then they get busy with life. 🙂

Now here’s where my Friday night went oh-so wrong.. In Naomi’s post she provided me with the ultimate obnoxious question setup:

Screen Shot 2016-07-17 at 8.42.11 AM

Maybe it was the really chaotic week, or the cycle of the moon, or the fact that my sarcasm gets the best of me, but I just couldn’t help but responding back on Twitter with the following:

Screen Shot 2016-07-17 at 8.45.39 AM

Sure it seemed innocent at the time and knowing Naomi I thought she would have gotten a chuckle out of it but what I did not realize is that my quiet evening was going to turn into a chaotic mess of likes, retweets, responses, threads & subthreads. At one point I’m pretty sure Al Gore jumped in and let us know that he actually invented Yammer.

Looking back through the thread I identified the themes of the arguments for why this isn’t a good move as:

– Investments have been made already in the existing O365 Yammer Network
– This is yet another place to monitor questions/answers/information
– Not hosting this on Yammer means that Yammer is dead
– The “Community” didn’t like not having input on the decision

These are all very valid points and I have a couple of comments for them:

1) Investments have been made already in the existing O365 Yammer Network
From my perspective the life of an IT Professional is constant change & evolution despite investments made in products. I can recall a huge ERP implementation that had teams churning through millions of dollars over the course of a few months to implement a new system and having their project halted right before Go-Live. This was because of a pending merger which already had licenses for the product and the decision pivoted to waiting until after the merger was completed. (1-2 year delay). For this instance, yes there was absolutely time & energy put into building out these Yammer groups but to quote Naomi, the penetration level was less than 100,000 users on the network which is an incredibly small fraction of the SharePoint & O365 users out there. I’m not trying to be too critical but you could argue that the network was a failure based on the #’s alone. Obviously you can always argue no matter what side of the coin you’re on, but in terms of a percentage of install base vs engaged, the Yammer network simply doesn’t have the reach that Microsoft would like to have. Don’t forget, Microsoft’s success is based on adoption & consumption of services – ensuring adoption & consumption is completely tied to their bottom line.

Just to build on that point the O365 IT Pro network is only 13,329 (as of 9:22 AM EST on 7/17/16) and that’s the second biggest group in the network!

Screen Shot 2016-07-17 at 9.21.58 AM

2) This is yet another place to monitor questions/answers/information
Yes. I absolutely cannot argue with the fact that this is yet another place to monitor for SharePoint/O365 questions, answers, and announcements. However, I’m curious what the impact is to those that are going to use this platform mostly for consuming information & announcements vs those community leaders who are publishing information. What I mean is – take user Joe working at a large company who just wants to learn more about Planner and how it impacts him. Now instead of hunting across Stackexchange, MSDN forums, MVP blogs, etc. – he can go to this one Community Site (choosing to login or remain anonymous) and follow information put out by Microsoft or members of the community. This is a much different experience than say Rob Windsor who is an amazing Community leader in the Development space.

Rob made the comment here:

Screen Shot 2016-07-17 at 9.08.01 AM

As someone on the content producing, knowledgeable, and sought after – I can absolutely see how yet another community can lead to eye rolling and perhaps non-participation. From my perspective though, Rob’s more of the exception to the rule. I can empathize the additional overhead this can add to his participation in the community, though I would ask if perhaps at some point he would consider dropping out of one of the other channels in place of this new one once it’s beyond the Preview period.

3) Not hosting this on Yammer means that Yammer is dead
So I have to chuckle because the Yammer being dead comment is really what caused my Friday night to go from quiet to phone constantly buzzing with Twitter updates. 🙂

Yammer is no different than any other solution in that it was developed to match a specific use case. I feel that Yammer works in Enterprise environments with governance, with governance, with people dedicated to ensure that individuals who are going to get the most out of the platform. I personally did not like the O365 Network on Yammer, I found it to be a hot mess of groups all over the place.

Take a look at the splash screen – it’s so much easier to navigate towards the type of content you are looking for in the new network:

Screen Shot 2016-07-17 at 9.19.08 AM.png

Versus the Yammer experience is a hodgepodge of trying to scroll through find the groups that are most relevant. This is a nice clean modern interface for getting information about what you’re looking for – whether it be Yammer, SharePoint, Office Apps, etc.

Also to address the other elephant in the room about Yammer being “dead”, I can definitely see how folks might interpret that not using it means that Microsoft is pulling the plug. However, I think that the mass of O365 users would make it very difficult for Microsoft to just pull the rug out from users. What I think we might be seeing is a true convergence of SharePoint, OneDrive, Yammer, and Groups into something else. I don’t have any insider info on this one. But if you look at the power of Groups, the re-energizing of SharePoint, and the rich capabilities of Delve – it feels to me like something big might be coming which really ties them all together with Yammer perhaps somehow either being reborn or updated to help complete that picture. I can only see Yammer becoming more integrated vs being killed off.

4) The “Community” didn’t like not having input on the decision
So I consider myself to be part of the O365/SharePoint Community – I run a user group and I speak at SharePoint Saturdays when I can. It is true that nobody asked me if we should switch from the O365 Yammer Network to this new platform. When I think about the community though, I gravitate towards the people that are consuming announcements, blog posts, asking questions & hopefully getting answers. Running the user group, I find myself really striving towards trying to build an inclusive environment where people feel comfortable asking questions & getting help with their problems. Looking at the the network I think this was Microsoft’s intent as well – they wanted to make it easier, organize the content, eliminate any additional headaches with Yammer accounts, and provide a nice modern experience. I would also say that the numbers in the Yammer network don’t accurately reflect the true volume of community members. If you remove the Microsoft employees, the MVP’s, and the evangelists, you’re really talking about very small numbers of network members vs true community members.

So are there people who are active in the O365 Yammer Network? Absolutely! Might they have concern or mixed feeling about moving? Sure! Rather than look it as a negative, I would challenge those who have some concerns to look forward to hopefully a more rewarding experience if Microsoft is able to grow the number of active users in this new community. I intend on announcing it during our next CT SharePoint User’s Group meeting, and I would encourage those who either run or participate in local user groups to do the same.
To quote Dux Raymond Sy – “Shift happens”. 🙂