ニューノーマルな
働き方!?
Teams投稿を
センチメント分析!
xTech ゆるっとLT: #xAI Meetup and
AR_Fukuoka
2020-11-07 / Tsukasa Kato
Profile
✓ Tsukasa Kato / 加藤 司
✓ 日本ビジネスシステムズ株式会社
シニアエキスパート
✓ Microsoft MVP for Microsoft Azure
✓ https://tsukatoh.hatenablog.com/
✓ https://www.slideshare.net/tsukasakatou9
今日お話しすること
• Teamsの投稿テキストを分析
• 分析結果をお知らせして通報
ニューノーマル時代の働き方
ニューノーマル時代の働き方
DXやテレワーク対応が必要となってきている現状
テレワーク化が進み、社外はもちろん社内のコミュニケー
ションもTeamsなどで行うようになってきた
テレワーク(リモートワーク)におけるコミュニケーション
• Teams、Zoomといったコミュニケーションツールの常用化
Teams等で仕事をする上での考慮点
• テキストチャットにおける発言
• 言葉の配慮
• 応答時間
• いいねなどのリアクション
• ビデオ会議の映り方
• 服装
• 背景(部屋やバーチャル背景)
• みだしなみ(髪や化粧など)
Teams等で仕事をする上での考慮点
• テキストチャットにおける発言
• 言葉の配慮
• 応答時間
• いいねなどのリアクション
• ビデオ会議の映り方
• 服装
• 背景(部屋やバーチャル背景)
• みだしなみ(髪や化粧など)
→発言によりハラスメントになりやすいため
今回はここを監視することにする
Teams投稿を感情分析
• Cognitive ServicesでTeamsの投稿を監視し感情分析を行う
• 感情分析には「Text Analytics」を使用
• 感情分析APIは数値スコアを返す
• スコアは0〜1の数値スコア
• 0に近いスコアは否定的な感情を示す
• 1に近いスコアは肯定的な感情を示す
• 投稿をトリガーとして動作するPower Automateを作成し、
監視する
構成
チャネルへの投稿
テキスト分析
投稿監視 / 投稿返信
Teams Power Automate
Text Analytics
Azure(Text Analytics)構成
Power Automate構成
Teams結果画面
スコアが低いものに対
しては返信する
スコアが高いものに対
してはなにもしない
チャネルへの投稿
テキスト分析
投稿監視 / 投稿返信
Teams Power Automate
Text Analytics
ご参考構成(直接Teamsにアクセスできない環境)
Teams
クライアント
WVD
コードで実装する例 (C#)
using Azure;
using System;
using System.Globalization;
using Azure.AI.TextAnalytics;
private static readonly AzureKeyCredential credentials = new AzureKeyCredential("<replace-with-your-text-analytics-key-here>");
private static readonly Uri endpoint = new Uri("<replace-with-your-text-analytics-endpoint-here>");
static void Main(string[] args)
{
var client = new TextAnalyticsClient(endpoint, credentials);
// You will implement these methods later in the quickstart.
SentimentAnalysisExample(client);
Console.Write("Press any key to exit.");
Console.ReadKey();
}
コードで実装する例 (C#)
var client = new TextAnalyticsClient(endpoint, credentials);
static void SentimentAnalysisExample(TextAnalyticsClient client)
{
string inputText = "I had the best day of my life. I wish you were there with me.";
DocumentSentiment documentSentiment = client.AnalyzeSentiment(inputText);
Console.WriteLine($"Document sentiment: {documentSentiment.Sentiment}¥n");
foreach (var sentence in documentSentiment.Sentences)
{
Console.WriteLine($"¥tText: ¥"{sentence.Text}¥"");
Console.WriteLine($"¥tSentence sentiment: {sentence.Sentiment}");
Console.WriteLine($"¥tPositive score: {sentence.ConfidenceScores.Positive:0.00}");
Console.WriteLine($"¥tNegative score: {sentence.ConfidenceScores.Negative:0.00}");
Console.WriteLine($"¥tNeutral score: {sentence.ConfidenceScores.Neutral:0.00}¥n");
}
}
• TeamsやZoomといったリモート会議やチャットが多用され
る中でのコミュニケーションは考えて行う必要がある
• Cognitive Servicesで用意されたモデルを使うことで、モデ
ル生成の手間も減ってかつAPIを使うだけなので開発コスト
も下げることができる
• Power Automateのコネクタを利用してローコード実装もで
きるし、プログラム内で呼び出して処理する方法も取れる
• 様々なAIサービスが用意されているのでぜひお試しあれ!
まとめ
ご清聴ありがとうございました
参考
Cognitive Services
• Microsoft が提供するAIサービス群。
• 開発者が直接的なAIやデータサイエンスのスキルや知識がな
くても利用できるAPI、SDKを提供。
• 現状サービスカタログとしては意思決定、視覚、音声、言語、
Web検索の5つに分類される
Cognitive Services
Cognitive Services
21
Decision Language Speech Vision Web Search
Bing SearchComputer Vision
Custom Vision
Face
Form Recognizer
Video Indexer
Speech to Text
Text to Speech
Speech Translation
Speaker Recognition
Immersive Reader
Language
Understanding
QnA Maker
Text Analytics
Translator Text
Anomaly Detector
Content Moderator
Personalizer
Preview
Metrics Advizor
↑
Marcketplace
から作成
Bing Search
↑
Marcketplace
から作成
Cognitive Services
22
Language Speech Vision Web Search
Computer Vision
Custom Vision
Face
Form Recognizer
Video Indexer
Speech to Text
Text to Speech
Speech Translation
Speaker Recognition
Immersive Reader
Language
Understanding
QnA Maker
Text Analytics
Translator Text
Anomaly Detector
Content Moderator
Personalizer
決定Decision
時系列データから異常検出を予測する
不快・危険なコンテンツを監視
パーソナライゼーション
Metrics Advizor メトリクスを関しして問題を診断
Bing Search
↑
Marcketplace
から作成
Metrics Advizor
Cognitive Services
23
Speech Vision Web Search
Computer Vision
Custom Vision
Face
Form Recognizer
Video Indexer
Speech to Text
Text to Speech
Speech Translation
Speaker Recognition
Immersive Reader
Language
Understanding
QnA Maker
Text Analytics
Translator Text
Anomaly Detector
Content Moderator
Personalizer
言語Decision
テキストの読解を補助
自然言語からの文意、
キーワード抽出
FAQリストのBot化
Language
キーフレーズ/トピック抽出、
ポジネガ分析、言語判定
リアルタイムのテキスト翻訳
Bing Search
↑
Marcketplace
から作成
Metrics Advizor
Cognitive Services
24
Vision Web Search
Computer Vision
Custom Vision
Face
Form Recognizer
Video Indexer
Speech to Text
Text to Speech
Speech Translation
Speaker Recognition
Immersive Reader
Language
Understanding
QnA Maker
Text Analytics
Translator Text
Anomaly Detector
Content Moderator
Personalizer
音声Decision
音声→文章
文章→音声
リアルタイム音声翻訳
Language
人の話を音声で識別
Speech
Bing Search
↑
Marcketplace
から作成
Metrics Advizor
Cognitive Services
25
Computer Vision
Custom Vision
Face
Form Recognizer
Video Indexer
Speech to Text
Text to Speech
Speech Translation
Speaker Recognition
Immersive Reader
Language
Understanding
QnA Maker
Text Analytics
Translator Text
Anomaly Detector
Content Moderator
Personalizer
Decision Language Speech 視覚 .
画像情報の読み取り
カスタム画像認識
画像内の顔認識&分析
ドキュメントからテキスト、
キー/値、テーブルを検出
Web SearchVision
動画分析&テキスト化
Metrics Advizor
Cognitive Services
26
Speech to Text
Text to Speech
Speech Translation
Speaker Recognition
Immersive Reader
Language
Understanding
QnA Maker
Text Analytics
Translator Text
Anomaly Detector
Content Moderator
Personalizer
Decision Language Speech VisionWebサーチ . Web Search
Bing Search
↑
Marcketplace
から作成
Cognitive Services
27
Decision Language Speech Vision Web Search
Computer Vision
Custom Vision
Face
Form Recognizer
Video Indexer
Speech to Text
Text to Speech
Speech Translation
Speaker Recognition
Immersive Reader
Language
Understanding
QnA Maker
Text Analytics
Translator Text
Anomaly Detector
Content Moderator
Personalizer
Metrics Advizor
WVD
• Microsoft Azureで提供されるマネージドな仮想デスクトッ
プサービス
• マネージドサービスでSBCとVDIが提供される
• Windows 10 マルチセッションが利用できる
• サードパーティ製品との連携により、より高度な管理も可能
• Citrix Cloud
• VMware Horizon Cloud
Windows Virtual Desktop
Windows Virtual Desktop概要
Windows Virtual Desktop
https://azure.microsoft.com/ja-jp/services/virtual-desktop/#featured
構成例(オンプレミス連携)
既存システム
Azure Firewall
Session Hosts
ExpressRoute
Azure AD
Azure AD DS
AD
AADC
VM Image
WVD Services
Profiles
Security
Center
Log
• Cognitive Services
• https://docs.microsoft.com/ja-jp/azure/cognitive-services/
• Text Analytics
• https://azure.microsoft.com/ja-jp/services/cognitive-services/text-
analytics/
• https://docs.microsoft.com/ja-jp/azure/cognitive-services/text-
analytics/quickstarts/text-analytics-sdk
• Microsoft Azure
• https://azure.microsoft.com/ja-jp/
• Microsoft Teams
• https://docs.microsoft.com/ja-jp/microsoftteams/teams-overview
• Microsoft 365
• https://www.microsoft.com/ja-jp/microsoft-365/business
参考
• WVD Security Best Practices
• https://docs.microsoft.com/ja-jp/azure/virtual-desktop/security-guide
• Protect WVD with Azure Firewall
• https://docs.microsoft.com/ja-jp/azure/firewall/protect-windows-
virtual-desktop
• Azure Security CenterによるWVD環境の保護
• https://azure.microsoft.com/ja-jp/blog/protecting-windows-virtual-
desktop-environments-with-azure-security-center/
• WVD用にMFAを有効にする
• https://docs.microsoft.com/ja-jp/azure/virtual-desktop/set-up-mfa
参考

ニューノーマルな働き方!?Teams投稿をセンチメント分析!