SPFx Outlook add-in with Azure Cognitive services to detect the sentiment before sending email
1. SPFx Outlook add-in with Azure Cognitive
services to detect the sentiment before
sending email
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
2. Jayakumar Balasubramaniam
Product Lead
• Microsoft Certified Trainer (MCT)
• Microsoft Certified Solution Developer
(MCSD)
• Blogger and Speaker
jayakumar@live.in
@jayakumrB
https://www.linkedin.com/in/j
ayakumarbalasubramaniam/
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
3. Sarah Rajkumar
Product Engineer
• Work on Microsoft 365 & Azure platforms
• Blogger and Speaker
sarahrajkumar17@gmail.com
@sarahr1708
https://www.linkedin.com/in/
sarah-r-1963a1147
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
4. Agenda
• Azure Cognitive Service
• Azure Sentiment Analysis
• SharePoint Framework Outlook Add-in
• Integrate with Azure Sentiment Analysis
• Configuring SPFx in Outlook
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
5. Azure Cognitive Services
Cognitive Services are a set of machine learning
algorithms helps to build Intelligence software
applications.
No machine machine-learning expertise is
required to use them
API call alone can embed AI capabilities into
your existing applications.
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
6. List of Azure Cognitive Services
DECISION LANGUAGE SPEECH VISION WEB
SEARCH
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
7. Language
• Extract meaning from unstructured data
• Language service contains five different services
• Immersive Reader
• Language Understanding
• QnA Maker
• Text Analytics
• Translator
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
8. Text Analytics
• Text Analytics detect sentiment, Key phrases and named
entities.
• Identify and categories Important concepts
• Extract key phrases in unstructured text
• Better Understand customer perception
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
9. Named-entity recognition
• Named-entity recognition has ability to identify the different
entities in text and categorize them into pre-defined classes or types
such as person, location, event, product and organization.
INPUT OUTPUT
Wimbledon is a tennis tournament
held in the UK in the first two weeks
of July 2020.
Event :tournament
Sport name(s): tennis
Location: UK
Month: July
Year: 2020
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
10. Key Phrase Extraction:
• The Key Phrase extraction evaluate unstructured text and returns a
list of key phrases.
• It is useful to quickly identify main points in documents.
INPUT OUTPUT
"documents": [
{
"language": "en",
"id": "1",
"text": "We love this trail and make
the trip every year. The views are
breath taking and well worth the
hike!"
},
"documents":[
{
"id":"1",
"keyPhrases":[
"year",
"trail",
"trip",
"views",
"hike“
],
},
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
11. Sentiment Analysis
• Sentiment Analysis is useful for detecting positive and
negative sentiment in social media, customer reviews etc.
• After sending sentiment request it labels into three
• Positive
• Neutral
• Negative
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
12. Sentiment Analysis
INPUT OUTPUT
{
"documents": [
{
"language": "en",
"id": "1",
"text": "The restaurant had
great food and our waiter was
friendly."
}
]
}
"documents": [
{
"id": "1",
"sentiment": "positive",
"confidenceScores": {
"positive": 1.0,
"neutral": 0.0,
"negative": 0.0
},
"sentences": [
{
"sentiment": "positive",
"confidenceScores": {
"positive": 1.0,
"neutral": 0.0,
"negative": 0.0
},
"offset": 0,
"length": 58,
"text": "The restaurant had
great food and our waiter was
friendly."
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
14. SharePoint
Framework
Outlook Add-in
• Office Add-in available
from v1.10
• Deploy in Outlook
WebApp
• Host the app in SharePoint
• Only available in Preview
• Developer Preview
supports only Outlook web
access
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
15. Benefits of SPFx Office Add-in
No change in development model
Single code base across MS Teams + SharePoint + Outlook
Hosted in SharePoint
Easy to access Graph API
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
16. Three Different Context in SPFx
this.props.context.sdks.office.context
this.props.context.sdks.microsoftTeams.context
this.props.context.pageContext
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
17. Building Office Add-In using SPFx
• yo @microsoft/sharepoint --plusbeta
• npm install @types/office-js --save-dev
• This.context.sdks.office.context.mailbox
• Use the package "@azure/ai-text-analytics"
• Build and Deploy in SharePoint AppCatalog
• Activate the Add-In using Outlook Web
• Generally it will be accessible only in outlook INBOX
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd
18. Integrate SPFx Outlook Add-in Mail Compose
#M365Bootcamp #MS365DevBootcamp #MS365DevBootcampHyd