【レポート】Alteryx Intelligence Suiteで実現する感情分析とトピックモデリング #alteryx23
こんにちは、アライアンス統括部の清水です。
現地時間2023年05月22日(月)〜2023年05月25日(木)に米国ラスベガスで開催されているAlteryxの年次カンファレンスイベント「Inspire 2023」。今回クラスメソッドからは計6人のメンバーが現地参戦しています。
当エントリでは、5月22日(火)14:00 PM - 15:30 PM PDT【太平洋時間】に行われたトレーニング『Sentiment Analytics and Topic Modeling with Text Mining in Alteryx Intelligence Suite』についてレポートします。
Sentiment Analytics and Topic Modeling with Text Mining in Alteryx Intelligence Suite
概要
分析の中で見落とされがちな定性データの扱い方を定量的な視点から探求します。構造化されていない定性データの収集方法や、トレンド、感情、主題などのテキストパターンを見つけ出す技術を学びます。
トレーニング講師
Joe Morris【Manager, Advanced Analytics Practice Lead, Capitalize Analytics】
はじめに
Alteryx Intelligence Suiteによる、テキストマイニングを元にした「感情分析」と「トピックモデリング」に関してのトレーニングをレポートします。
テキストマイニング・テキスト分析とは
大量の非構造化定性データからトレンド、センチメント、トピックなどのテキストパターンを特定する技術のこと。英語がベースになっています、またドキュメントはCSVやPDFなどが主な対象です。
事例
- 市場調査
- カスタマーケア
- 不正検出
- コンテキスト広告
- ソーシャルメディア分析
テキストから追加情報を引き出せる場所なら使用することが可能。
ツール説明・ハンズオン
テキストマイニングで利用するツールは以下の通りです。それぞれの機能説明とハンズオンの様子をご紹介します。
1. Text Pre-processing
感情分析で置換するような同じ内容の単語を、カテゴリ分けしてグループ化
Filtering Tokens
数字の除外、句読点の変換、除外ワード設定
ハンズオン
ホテル宿泊客のアンケートのレビュー項目にて、『Stop Words』箇所で除外ワードの設定をしている様子。
2. Topic Modeling (LDA)
現在最も多く使われているトピックモデリングのアルゴリズムの一つ
LDAを元に単語や文章からトピックを分析
- Topic1からペンギンを分析
- Topic2からペンギンの色を分析
- Topic3からペンギンの色を分析
テキスト全体からトピックの特定・分類
- 設定:トピックの数、単語の最小/最大頻度、LDAアルゴリズムが考慮すべき最大単語数、トピックと単語の密度
- トピックの評価:顕著性や関連性といった指標を用いる
トピック分布を可視化
Alpha (テキスト内でLDAアルゴリズムが想定すべきトピックの密度)がそれぞれ、10,1,0.1の時でのトピック分布を可視化
ハンズオン
ホテル宿泊客のアンケートのレビュー項目にて、レビュー項目からトピックを分析するための設定を行っている様子。
データが生成されたので、トピック分布全体を可視化
そのあと、トピックごとの比率と、全体の比率でそれぞれ表示するとグラフの色がこのように変化します
トピック1-4の閾値が、項目として追加されたのが分かります。
3. Sentiment Analysis
テキスト内に含まれる感情を評価するツールです。またデータはAPI使って取得しても、同じアルゴリズム使うため結果は同じになります。ネガティブ、ニュートラル、ポジティブな感情を地域や組織、生年月日、通貨などの個人を特定する情報から探求します。
どのように評価するか
- 句読点 (!) ・大文字・程度を示す副詞は、強度を変更されたことを示します(例:とても、わずかに)
- 対比的な接続詞 (例:しかし) は意味合いの変更を示します
- 感情語の直前の語彙は否定表現の有無をチェックすることで(例:〜ではない)極性を見極めし、否定の場合は極性を切り替えします
感情分析の概要と結果
各カテゴリーに含まれる単語の比率と、設定した閾値に基づいてカテゴリーを分け総合スコアを算出します。
- 極性と強度を判断する要素(絵文字・スラング・句読点)
- 留意が必要な要素(皮肉・隠喩・直喩)
ハンズオン
ホテル宿泊客のアンケートのレビュー項目にて、『ネガティブ感情の最大閾値の設定(ここでは-0.1)』と『ポジティブ感情の最小閾値の設定(ここでは0.5)』した様子です。
トピック分析した内容と感情分析した内容を、結合していきます。
青枠がTopic分析したデータ、赤枠が感情分析したデータです、これらをユニークなRecordIDを使って結合
集計ツールを利用し、
最後にレポート表示するとTopicと感情分析の指標が見えるようになりました。
4. Named Entity Recognition
固有表現の抽出を行うツール。この手法はspaCyパッケージを利用し、予め訓練されたパイプラインを使って連続した単語にラベルを付けます。また、ユーザーが定義した内容も扱うことができます。
分類カテゴリの例
- 人物(例:アブラハム・リンカーン、マザー・テレサ)
- 場所(GPEとも称する。例:グレートブリテン、UK)
- 組織(例:Apple、米国国務省)
- 日付(例:あと14日、2022年10月14日)
- 通貨(例:10億ドル)
カテゴリの詳細は以下の通り
- PERSON: 実在・架空の人物を含む
- NORP: 国籍、宗教、政治グループ
- FAC: 建物、空港、高速道路、橋などの施設
- ORG: 会社、機関、機関など
- GPE: 国、都市、州
- LOC: GPE以外の場所、山脈、水域
- PRODUCT: サービスではない物体、乗り物、食品など
- EVENT: 名称があるハリケーン、戦闘、戦争、スポーツイベントなど
- WORK_OF_ART: 書籍、楽曲などのタイトル
- LAW: 法令として制定された文書
- LANGUAGE: 名前のついた言語
- DATE: 絶対または相対的な日付または期間
- TIME: 1日未満の時間
- PERCENT: "%"を含むパーセンテージ
- MONEY: 単位を含む金額
- QUANTITY: 重さや距離などの測定値
- ORDINAL: 「第一」、「第二」など
- CARDINAL: 他のカテゴリに当てはまらない数詞
5. Part-of-Speech Tagger
文中の各単語に対して品詞を推定し、それぞれの単語に適切な品詞タグを付与するツール。 ダイアグラムを使用すると単語間の関係を視覚化し、文の構造をより明確に理解することが出来ます。なおブラウズで表示も可能です。
- 名詞
- 動詞
- 形容詞など
※英語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語の品詞の識別対応していますが、出力は英語のみ(英語の精度は約97%)
6. Word Cloud
テキストデータの可視化
※英語、フランス語、ドイツ語、イタリア語、ポルトガル語、スペイン語のみ出力可
ハンズオン
ホテル宿泊客のアンケートのレビュー項目にて、テキストデータを可視化した様子です。閲覧ツールを最後につなげれるこのように表示されます。
おわりに
感情分析を検証してみたいと以前から考えていたのですが、Alteryx Intelligence Suiteのオプション製品が必要なことと、英語がべースのため、なかなか触る機会がありませんでした。以前Alteryxユーザー会で、こちらのツールを利用されたユースケースがあったのですが、やはりそれ以降あまりお目にかかっていません。
第13回東京Alteryxユーザーグループのイベントレポート
ずっと英語でトレーニングを聞いていたので、90分のトレーニングの合間に、会場には飲み物のサービスがあり大変ありがたかったです。
感情分析は結果の解釈が難しいと私自身も感じております。弊社で検証してみたブログも多いものではなく、過去に玉井のほうで書いたこの記事がある程度です。
日本語のテキストデータを元に、現状のAlteryx Intelligence Suiteで、どのような結果となるのか今後検証してみたいと思います。どなたかのお役に立てば幸いです。