誰でもAIが使える!「Azure Cognitive Services」をみんなで学ぶ 第6回
落ち込んでいるメンバーがいたら管理職に注意喚起、そんなアプリをノーコードで開発する
「Text Analytics」で業務日報のテキストを感情分析してみよう!
2021年08月31日 08時00分更新
みなさんこんにちは! 21年卒でFIXERに入社した日高です。今回は「連載:誰でもAIが使える『Azure Cognitive Services』をみんなで学ぶ」の第6回目として、Cognitive Serviceの1つである「Text Analytics」の概要を紹介し、ハンズオンとして感情分析を行うアプリを作成していきたいと思います。
今回の目次
●Text Analyticsとは●Text Analyticsにできること
-どうやって「感情」を分析しているのか
●Text Analyticsで感情分析を行うハンズオン
●Microsoft Formsの準備:入力フォームの作成
●Text Analyticsの準備:リソースの作成
-APIキーとエンドポイントURLの取得
●Logic appsの準備:リソースの作成
●Logic appsアプリの作成
-(1)フォームに投稿されたら処理を開始する
-(2)フォームの内容を取得する
-(3)Text Analyticsで感情分析する
-(4)感情分析結果に応じてSlackに投稿する
●アプリを実際に動かしてみる
●終わりに
Text Analyticsとは
Text Analyticsを一言で説明すると「自然言語のテキストデータを分析してくれるサービス」です。
人間が日常的に話す言葉、書く言葉を総称して「自然言語」と呼びます。コンピュータはこの自然言語を「理解」することはできませんが、データとして「処理」することならできます。それを実現するのが「自然言語処理(NLP:Natural Language Processing)」と呼ばれる技術群です。
実は、この自然言語処理はすでにさまざまな場面で利用されています。身近な事例ですと「検索エンジン」「スマートアシスタント(チャットボット)」「迷惑メールフィルタ」「予測変換」「機械翻訳」などのアプリケーションやサービスで、自然言語処理技術が用いられています。
自然言語処理には幅広い技術がありますが、その一部でAI/機械学習技術も用いられるようになっています。ただし、自然言語処理のAI(モデル)を自ら作成しようと思うと、膨大な量の学習データ(自然言語で書かれたテキスト)とコンピュートリソースが必要になります。加えて、仮に作成できたとしても、十分に精度が高まらなければ実用面で多くの問題を抱えることになります。
こうした難しい問題を解決するために、マイクロソフトではあらかじめ学習済みのAIを用意し、Text Analyticsサービスに組み込んで使えるようにしました。これにより、誰でもText Analyticsのリソースを作成するだけで簡単に自然言語処理(分析)が実現できるわけです。
Text Analyticsにできること
Text Analyticsでは具体的に何ができるのでしょうか。提供する機能としては、テキストから書き手の感情を分析する「感情分析」、テキストに含まれる人や場所、日付/時刻、イベント、製品といった要素(エンティティ)を抽出する「固有表現認識」、テキストの要点を示す語句を抽出する「キーフレーズ抽出」、個人を特定できる情報(PII)の取得などがあります。また、日本語や英語をはじめとする多数の言語に対応しているのも特徴です。
Text Analyticsはさまざまな企業で利用されています。マイクロソフトが公開している採用事例によると、たとえばコンサルティング企業のKPMGでは、顧客金融機関における不正行為の分析を効率化するために利用しています。スペインのサッカーリーグであるLaLiga(ラ・リーガ)では、TextAnalyticsを用いて、世界中のファンに向けた多言語対応のパーソナルデジタルアシスタントを作成しています。
どうやって「感情」を分析しているのか
Text Analyticsが提供するいくつかの機能のうち、今回は感情分析の機能を使ってみたいと思います。
感情分析は、与えられた自然言語のテキストから、書き手の意見を「ポジティブ(肯定的)」「ネガティブ(否定的)」「ニュートラル(中立的)」の3種類に分類します。たとえばSNSやレビューサイト、自社の問い合わせ窓口などで収集したテキストに適用することで、自社の製品やサービス、自社ブランドに対する顧客の評価、評判といったものを分析できます。
もちろん、ここでもコンピューターが書き手の感情を「理解」しているわけではありません。詳細は省きますが、感情分析を行う手法としては主に次の2種類があります。
●感情辞書
辞書データベースに「ポジティブな単語」と「ネガティブな単語」を登録しておき、この辞書に基づいてテキストを分析する方法です。
●教師あり機械学習
あらかじめ「ポジティブな文章」と「ネガティブな文章」を学習させた機械学習モデル(AI)を使って分析する方法です。
実際にはこの2手法を併用して、より精度の高いネガポジ判定が行えるようチューニングするケースが多いようです。なお、Text analyticsが内部でどのように判定を行っているのかについては、情報を見つけられませんでした(公式ドキュメントを読み込めばあるのかもしれませんが)。
この連載の記事
-
第5回
TECH
「Custom Vision Service」と「Power Apps」でAIアプリを完成させる -
第4回
TECH
Custom Vision Serviceで「衣類を画像分類するモデル」を作る -
第3回
TECH
独自の画像識別モデルを作成できる「Custom Vision Service」とは -
第2回
TECH
Azureの質問応答ボットサービス「QnA Maker」を理解する -
第1回
TECH
AIと「Azure Cognitive Services」の基本を理解する - この連載の一覧へ