お問い合わせ
4 分で読むことができます。

【Qlik Cloud】Amazon Comprehendの感情分析を試してみた

2025年4月30日

目次

はじめに

こんにちは。Kohです。

昨年末あたりにSnowflakeナレッジで感情分析をしていたのをみて、
そのQlik ver.をやろうと思ったのが今回のきっかけです。

近年テキストデータ(レビューやコメントなどの文章)の分析を試みている方が増えているように感じます。

技術進化で取り組みやすくなったからなのか、より詳細に分析したいからなのか…?

それぞれ目的は異なると思いますが、
早速タイトルの通り、外部ツールを使った感情推論→Qlikでの分析を試していきます!

準備

以下の準備が必要です。

・Qlik Cloud 分析環境(分析アプリが作ればOK)

・Qlik Cloudの機械学習エンドポイントをON
 管理>設定>機械学習エンドポイントをON(権限によってはQlik Cloud管理者に依頼)

サンプルデータ
 今回は生成AIに100行のコメントデータを作成してもらいました

Amazon Comprehendを使用するため、以下も準備が必要です。

・IAMユーザーとロール

・IAMユーザーのアクセスキーとシークレットキー

やってみよう

  1. 新規アプリを作成&データロードエディタを開く
  2. サンプルデータをリロード
    Commentテーブルが画面下部で確認できる
  3. Amazon Comprehendへの接続を作成
    1. Create new connectionを押下
    2. Amazon Comprehendを押下
      ※Qlik Cloudの機械学習エンドポイントがONになっていないと表示されません
    3. 必須項目を埋める
      ・Configuration: Sentiment Analysis
      ・Region:ご自身の環境に応じて選択
      ・Use FIPS Endpoint: No(基本Noで問題ないはず)
      ・Language Code: テキストデータの言語に応じて選択


      ・AWS Access Key / Secret Key: 用意したものを入力
      ・Association Field: キーとなる項目(手順2のテーブルとComprehendが返すテーブルの関連付けに使用する)


  4. テキストデータをComprehendに送信
    1. データコネクションから以下を押下
    2. Comprehendに送るデータが含まれるテーブルと項目を入力
      Resident Table: Comment
      Data Field: Sentence

  5. 返ってくるテーブルのスクリプトを選択&挿入 
    1. Sentimentsの✅ボックスをクリック&分析に必要な項目を選択
    2. Insert scriptを押下
    3. 挿入されたスクリプトを確認
      ※赤枠部分がComprehendに送るデータを特定するための設定箇所
  6. リロードする
    2つのテーブルが取り込まれていることが確認できる



    今回Comprehendを使って行われる処理のイメージです。

    (出典:Qlik Community
  7. 可視化してみよう
    1. シートに移動して、以下の通り設定する
      ・チャート: 棒グラフ
      ・ディメンション: Sentiment
      ・メジャー: Count(Comment_id)
    2. プロパティで色をディメンション別に設定

  8. 完成!


    サンプルデータですが、結果としてはNEUTRALな文章が多かったようです。
    少し深堀して文章の内容も覗いてみましょう。


    テーブルで初期表示される約10件ほどを見ると、何かに対する質問が多いようです。
    これが仮にとある小売店の商品に対するコメントデータであれば、販売者は商品説明を充実させることで、売上や顧客の満足度向上に繋げられるかもしれません!

詰まったところ

検証している時に1つ詰まった点があります。それはこのコネクタの1つの制約事項です。

Amazon Comprehend コネクタは、リクエストごとに 1000 行に制限されます。これらは、25k 行のバッチ形式でエンドポイント サービスに送信されます。より多くの行を処理する必要があるシナリオでは、データ ロード スクリプト内の Loop を使用して、より多くの行をバッチ処理します。

引用:Amazon Comprehend 分析ソース | Qlik Cloudヘルプ

要はMax1000行ずつしかリクエストできません。

1000行以上のテーブルを処理したい場合は、ループしてリクエストを送る必要があります。

参考までに今回使ったデータ(1000行オーバーver.)で試した際に使ったスクリプトです。

(よりスマートな方法があれば教えてください!)

 

今回はSentiment Analysisに限った制約事項を取り上げましたが、
このコネクタにはその他の制約事項もありますので要確認ください!


おわり

Qlik製品内でもAutoMLやAIを活用した製品が続々と登場しています。

(2025/4月時点で感情分析は不可)

それらを活用する方法もありますが、今回のように外部サービスの活用もできます。

それぞれのコンテクストに応じて、最適な手段を選択してみてください。

また別のサービスとQlikの組み合わせもご紹介できればと思います。それでは。

参考

 

Koh

Written by Koh

BIエンジニア。 Tableau Desktop Certified Associate、DATA Saberを保持。

Qlik_No1_2022
QSナレッジ事例バナー
DXバナー
Qlikseminar
qs_trial
Qllikseminar
Vizlibナレッジ
Vizlibセミナー
qv_knowledge
book_kawaii
Snowflake_バナー

新着記事

タグ別の記事

全て表示