From Azure to SharePoint Data

Sentiment evaluation for linguistics is likely one of the most studied facets of Synthetic Intelligence (AI). Should you search on-line, you’ll discover a whole lot of articles concerning the totally different algorithms out there, their benefits, disadvantages and find out how to implement them. Right here, you’ll come throughout lots of info on Sentiment Evaluation, Intent Evaluation, Contextual Semantics and extra.

Sentiment evaluation is finest outlined as the method of figuring out the emotion related to a chunk of textual content. It depends on making use of machine studying strategies to categorise info based mostly on options extracted from the textual content.

Within the period of social networks, Sentiment Evaluation will be an vital and extremely clear device to handle processes: it signifies how the customers are emotionally reacting to content material and lets you steer the context into one course or one other.

I could be biased, however Workplace 365 is by far the most effective place to retailer enterprise info. If we begin by wanting on the intensive choices out there inside the cloud platform. Akin to SharePoint, the repository for structured and non-structured info, to Yammer and Groups, which permit customers to alternate information straight in chats and conferences. We are able to see right here there are a number of enticing selections for implementing and making use of sentiment evaluation to counterpoint information techniques.  

Alternatively, Azure affords a prepared to make use of Sentiment Evaluation service, based mostly on its Textual content Analytics API which you will discover inside the Cognitive Providers household. Microsoft has based mostly the Challenge Cortex, the initiative to make Workplace 365 and SharePoint On-line extra ‘clever’, on the Azure Cognitive Providers household. On the time of writing this text, there may be restricted info on the technical implementation of Cortex in Workplace, and if Sentiment Evaluation can be part of it.

The AI fashions utilized by the Azure Textual content Analytics API are offered and educated by Microsoft and able to use. Sentiment Evaluation is staged on the whole provided textual content, as a substitute of phrases within the it, and it produces a extra refined outcome when its evaluating smaller items of textual content. Ideally, textual content measurement should be beneath 5,120 characters.

There are two variations of the Textual content Analytics API. In Model 2, the sentiment analyzer classifies textual content as predominantly optimistic or destructive and assigns a rating between zero and 1. In Model three (in preview now), the textual content is analyzed with sentiment labels (optimistic, destructive, blended, or impartial) and a rating is given reflecting the mannequin’s confidence.

The API can be utilized in two methods: an Object Mannequin and a REST API. The REST API sends the data as a JSON string within the physique of the decision utilizing the format ID, textual content, and language (all properties compulsory), along with the endpoint URL to the service, and the entry key within the request header.

The next instance exhibits find out how to use the API Object Mannequin to research the textual content in a subject from a customized Checklist in SharePoint On-line. That is only a proof-of-concept that may be utilized to extra real-world instances: for instance, to use the evaluation to the entry paragraph of Phrase paperwork saved in a SharePoint Library, or utilizing one other form of Lists within the traditional model of SharePoint (a Survey Checklist, for example).

Create the Service in Azure

1. Open the Azure portal utilizing an directors account and create a brand new Useful resource Group

2. When the Useful resource Group is prepared, use the +Add button and seek for textual content analytics. Click on on the Create button of the service.

three. Fill the data for the service (Identify, Subscription, Location and Useful resource Group). There are seven pricing tiers to decide on, from free (together with 5000 transactions per 30 days), by way of paid tiers to 10 million transactions per 30 days. Use the Create button.

Creating the Textual content Analytics service in Azure4. When the service is created, go to its configuration window and duplicate the Key1 and Endpoint. This info is all the time out there within the Keys part, if mandatory.

The important thing and endpoint for the service5. As a result of we’ll use a SharePoint WebHook to attach the SharePoint Checklist with the Azure service, create within the Useful resource Group one other service of the kind Operate App. Return to the Useful resource Group, click on on the +Add button, seek for perform app and create the service.

6. Within the configuration window for the Operate App fill within the required information (Subscription, Identify, Area). Choose Code within the Publish field and .NET Core within the Runtime stack

The Operate App creationBy default, the creation course of will make a brand new Storage account, Utility Insights, and Plan (of the kind Consumption) companies. If you wish to choose the names for these companies, you should utilize the Subsequent button and accomplish that. In any other case, simply hit the Create button and use the default configuration.

7. The Operate App is created utilizing the .NET Core framework. Sadly, when this text was created, the SharePoint CSOM (Shopper Facet Object Mannequin) was not but in a position to work with .NET Core, solely with the .NET Framework. To alter it, when the Operate App is prepared, go to its configuration window, click on on Platform options – Operate app settings, and alter the Runtime model from -2 to -1.

Altering to make use of the .NET Framework within the Operate AppThe SharePoint Checklist

eight. Create a Customized Checklist in SharePoint and add two fields: one referred to as Feedback (A number of traces of textual content), and a second referred to as Sentiment (Single line of textual content)

Creating the code

Use Visible Studio to create the supply code. We’re utilizing Visible Studio 2019 Enterprise, however you should utilize some other model (together with 2016/2017) or Visible Studio Code.

9. In Visible Studio, create a brand new Answer of the kind Azure Features. Within the Create a brand new Azure Operate Utility window, choose Azure Features v1 (.NET Framework) and Http set off. Then, create the Answer.

Creation of the Visible Studio Answer10. Add the NuGet packages “Newtonsoft.Json” (model,  “Microsoft.Azure.CognitiveServices.Language.TextAnalytics” and “AppForSharePointOnlineWebToolkit”.

11. Use the supply code that you will discover within the GitHub repository to interchange the unique code created by the Visible Studio template. The code implementation is a regular SharePoint WebHook that first critiques the hook subscription after which recall and analyze the modifications within the Checklist. The related components for the decision to the Azure service are:

// Get what is modified
ListItem changedListItem = changedList.GetItemById((oneChange as ChangeItem).ItemId);
// Create a Textual content Analytics shopper
ApiKeyServiceClientCredentials myCredentials = new ApiKeyServiceClientCredentials(serviceKey);
TextAnalyticsClient myClient = new TextAnalyticsClient(myCredentials)
// Name the service
SentimentResult myScore = myClient.Sentiment(changedListItem[“Comments”].ToString(), “en”);
// Insert the values again within the Merchandise
changedListItem[“Sentiment”] = myScore.Rating.ToString();


// Get what’s changedListItem changedListItem = changedList.GetItemById((oneChange as ChangeItem).ItemId);SPClientContext.Load(changedListItem);SPClientContext.ExecuteQuery(); // Create a Textual content Analytics clientApiKeyServiceClientCredentials myCredentials = new ApiKeyServiceClientCredentials(serviceKey);TextAnalyticsClient myClient = new TextAnalyticsClient(myCredentials)    Endpoint = serviceEndpoint; // Name the serviceSentimentResult myScore = myClient.Sentiment(changedListItem[“Comments”].ToString(), “en”); // Insert the values again within the ItemchangedListItem[“Sentiment”] = myScore.Rating.ToString();changedListItem.Replace();SPClientContext.ExecuteQuery();

When a change within the Checklist is detected, the modified merchandise is recovered from SharePointA shopper for the Textual content Analytics is created passing the important thing and endpoint of the serviceThe string from the Feedback subject is handed to the Azure service, and the response from the service is saved within the myScore variableThe worth of the rating is transmitted again to the Checklist itemThe Textual content Analytics shopper is created utilizing the next class:

class ApiKeyServiceClientCredentials : ServiceClientCredentials

    non-public readonly string apiKey;
    public ApiKeyServiceClientCredentials(string apiKey)
        this.apiKey = apiKey;
    public override Job ProcessHttpRequestAsync(HttpRequestMessage request,
        CancellationToken cancellationToken)


class ApiKeyServiceClientCredentials : ServiceClientCredentials    non-public readonly string apiKey;     public ApiKeyServiceClientCredentials(string apiKey)            this.apiKey = apiKey;         public override Job ProcessHttpRequestAsync(HttpRequestMessage request,        CancellationToken cancellationToken)            if (request == null)                request.Headers.Add(“Ocp-Apim-Subscription-Key”, this.apiKey);        return base.ProcessHttpRequestAsync(request, cancellationToken);   

12. Add the code to the Azure Operate utilizing Visible Studio.

13. The Azure Operate should be subscribed to the SharePoint Checklist. There are a number of methods to do that, however most likely the simplest is utilizing the PowerShell SharePoint PnP cmdlets. See additional directions within the Microsoft documentation right here.

Run the instance

14. Within the SharePoint Checklist, create a brand new merchandise. The Operate can be triggered, calling the Azure service with the textual content of the Feedback subject, getting the sentiment rating and setting it again within the Checklist merchandise:

The sentiment rating for various textsAs you possibly can see, the sentiment analyzer of the Azure Cognitive Providers will be carried out with simply a few code traces. It might be utilized in a number of methods not solely to extend the worth of the data in SharePoint, but it surely has the potential for use in some ways inside different communication hubs in Workplace 365.
Gustavo Velez is a senior options architect specialised in integration of Microsoft software program and Microsoft MVP Workplace Apps & Providers. In his a few years of expertise creating and dealing with Home windows and Workplace purposes, Gustavo has given seminars/coaching in SharePoint in addition to doing non-public consultancy work, and his articles will be present in lots of the main commerce magazines in English, Dutch, German and Spanish. He’s webmaster of http://www.gavd.internet, the principal Spanish-language web site devoted to SharePoint. Gustavo is creator of ten books about SharePoint, and founder and editor of CompartiMOSS (, the reference journal about Microsoft applied sciences for the Spanish-speaking group.

Supply hyperlink

Leave a Comment

Your email address will not be published. Required fields are marked *