Sentiment Analysis Middleware
Build status
Branch | Status | Recommended NPM package version |
---|
master | | |
Description
This piece of middleware will get sentiment score of each incoming message text using Cognitive Services Text Analytics API and therefore requires a key. There is a free tier which meets most demo/PoC needs. You can get more info at https://azure.microsoft.com/en-us/services/cognitive-services/text-analytics/
The implementation detects the language of the text and get the sentiment of the same. Currently, nearly 17 languages are supported. Full list of supported languages can be seen at https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/text-analytics-supported-languages
Installation
Available via NPM package botbuilder-sentimentmiddleware
Install into your project using the following command in the package manager;
npm install botbuilder-sentimentmiddleware --save
Usage (Typescript supported)
First create sentimentAnalysisMiddleware object and add it to middleware pipeline
const sentimentAnalysisMiddleware = new SentimentAnalysisMiddleware({textAnalyticsAzureRegion:'{e.g. westeurope}', textAnalyticsKey:'{your text analytics key}',language:'en'})
botFrameworkAdapter.use(sentimentAnalysisMiddleware);
Subsequently you can obtain sentiment score for incoming message in following way:
await sentimentAnalysisMiddleware.sentimentScore(context)
If not used within middleware pipeline, you can still use getSentimentScore
method to call cognitive service and obtain the sentiment score on demand.
await sentimentAnalysisMiddleware.getSentimentScore(context)