[新機能]Snowflakeで製品レビューなどのテキストを指定したカテゴリ別に感情分析できる「ENTITY_SENTIMENT」関数がリリースされました
さがらです。
2025年4月の新機能として、Snowflakeで製品レビューなどのテキストを指定したカテゴリ別に感情分析できる「ENTITY_SENTIMENT」関数がリリースされました。※2025年5月9日時点、プレビュー機能
ENTITY_SENTIMENT関数について
ENTITY_SENTIMENT関数は、与えられたテキストに対してカテゴリ(ENTITY)を指定することで、カテゴリ別に以下の5分類に分けてくれる機能です。
- positive:肯定
- neutral:中立
- negative:否定
- mixed:肯定も否定も混じっている場合
- unknown:不明 ※与えられたテキストから判断できない場合
下図はSnowflakeの公式ドキュメントからの引用ですが、Cost
、Professionalism
、Brand
の3つのカテゴリを指定することで、与えたテキストがこの3つのカテゴリについてどういった感情となっているかを分析して結果を返してくれます。
利用できるリージョンについて
以下の公式ドキュメントに記載がありますが、「AWS AP Northeast 1(Tokyo)」では利用可能となっています。
コストについて
Consumption Tableを見ると、下図のようなコストとなっております。
元々あったSENTIMENT関数と比べるとかなりコスト差があるため、ご注意ください。
余談:COMPLETE関数との違いについて
これは余談ですが、COMPLETE関数だけでも同様の感情分析が実は可能です。
下図は@TARO9652512797さんの記事からの引用ですが、このように具体的な指示を入れることで、COMPLETE関数でも感情分析が可能です。利用したいLLMのモデルがある場合や、コストなどに応じて使い分けるのが良さそうです。
やってみた
ということで実際にENTITY_SENTIMENT関数を試してみます!
データの準備
以下のクエリを実行して、検証用のテーブルを準備します。
use role accountadmin;
create database cortex_test;
use schema public;
create or replace table product_reviews_jp (
review_id number autoincrement primary key,
product_name varchar(100),
review_text varchar(16777216),
review_date date default current_date()
);
insert into product_reviews_jp (product_name, review_text) values
('ワイヤレスイヤホンX1', '音質はとてもクリアで満足しています。ただ、バッテリーの持ちがもう少し長いと嬉しいです。装着感は良いです。'),
('スマートウォッチZ2', 'デザインが洗練されていて気に入っています。通知機能も便利ですが、たまに連携が切れるのが残念。価格は妥当だと思います。'),
('コーヒーメーカーA3', '操作が簡単で、毎朝美味しいコーヒーを手軽に楽しめます。デザインもシンプルでキッチンに馴染みます。お手入れも楽です。'),
('ノートパソコンP5', '処理速度は非常に速く、作業が快適です。しかし、本体が少し重いのと、ファンの音が気になることがあります。画面の綺麗さには満足。'),
('高性能カメラC7', '画質はプロ級で素晴らしいの一言。機能も豊富ですが、初心者には操作が少し難しいかもしれません。価格が高いだけの価値はあります。');
ENTITY_SENTIMENT関数の実行
以下のクエリを実行して、ENTITY_SENTIMENT関数を用いたカテゴリ別の感情分析を行ってみます。
select
review_id,
product_name,
review_text,
snowflake.cortex.entity_sentiment(review_text, ['価格', '品質', 'デザイン', 'バッテリー', '操作性', 'サポート', '速度']) as sentiment_analysis
from
product_reviews_jp;
結果としては下図のように表示されます。
この結果を表形式にまとめたものが以下の表になります。
概ね合っていそうに見えますが、「デザインが洗練されていて気に入っています。通知機能も便利ですが、たまに連携が切れるのが残念。価格は妥当だと思います。」のレビューに対する「サポート」の分析が「negative」になっていました。
「サポート」について、私は「カスタマーサポートの評価」を期待していたのですが、「製品のユーザーサポート機能の評価」とLLMに判断されていると感じました。この辺りは適切なカテゴリ設定が必要となりそうですね…
REVIEW_ID | PRODUCT_NAME | REVIEW_TEXT | ENTITY_NAME | SENTIMENT |
---|---|---|---|---|
1 | ワイヤレスイヤホンX1 | 音質はとてもクリアで満足しています。ただ、バッテリーの持ちがもう少し長いと嬉しいです。装着感は良いです。 | overall | mixed |
1 | ワイヤレスイヤホンX1 | 音質はとてもクリアで満足しています。ただ、バッテリーの持ちがもう少し長いと嬉しいです。装着感は良いです。 | サポート | unknown |
1 | ワイヤレスイヤホンX1 | 音質はとてもクリアで満足しています。ただ、バッテリーの持ちがもう少し長いと嬉しいです。装着感は良いです。 | デザイン | positive |
1 | ワイヤレスイヤホンX1 | 音質はとてもクリアで満足しています。ただ、バッテリーの持ちがもう少し長いと嬉しいです。装着感は良いです。 | バッテリー | neutral |
1 | ワイヤレスイヤホンX1 | 音質はとてもクリアで満足しています。ただ、バッテリーの持ちがもう少し長いと嬉しいです。装着感は良いです。 | 価格 | unknown |
1 | ワイヤレスイヤホンX1 | 音質はとてもクリアで満足しています。ただ、バッテリーの持ちがもう少し長いと嬉しいです。装着感は良いです。 | 品質 | positive |
1 | ワイヤレスイヤホンX1 | 音質はとてもクリアで満足しています。ただ、バッテリーの持ちがもう少し長いと嬉しいです。装着感は良いです。 | 操作性 | positive |
1 | ワイヤレスイヤホンX1 | 音質はとてもクリアで満足しています。ただ、バッテリーの持ちがもう少し長いと嬉しいです。装着感は良いです。 | 速度 | unknown |
2 | スマートウォッチZ2 | デザインが洗練されていて気に入っています。通知機能も便利ですが、たまに連携が切れるのが残念。価格は妥当だと思います。 | overall | mixed |
2 | スマートウォッチZ2 | デザインが洗練されていて気に入っています。通知機能も便利ですが、たまに連携が切れるのが残念。価格は妥当だと思います。 | サポート | negative |
2 | スマートウォッチZ2 | デザインが洗練されていて気に入っています。通知機能も便利ですが、たまに連携が切れるのが残念。価格は妥当だと思います。 | デザイン | positive |
2 | スマートウォッチZ2 | デザインが洗練されていて気に入っています。通知機能も便利ですが、たまに連携が切れるのが残念。価格は妥当だと思います。 | バッテリー | unknown |
2 | スマートウォッチZ2 | デザインが洗練されていて気に入っています。通知機能も便利ですが、たまに連携が切れるのが残念。価格は妥当だと思います。 | 価格 | neutral |
2 | スマートウォッチZ2 | デザインが洗練されていて気に入っています。通知機能も便利ですが、たまに連携が切れるのが残念。価格は妥当だと思います。 | 品質 | unknown |
2 | スマートウォッチZ2 | デザインが洗練されていて気に入っています。通知機能も便利ですが、たまに連携が切れるのが残念。価格は妥当だと思います。 | 操作性 | positive |
2 | スマートウォッチZ2 | デザインが洗練されていて気に入っています。通知機能も便利ですが、たまに連携が切れるのが残念。価格は妥当だと思います。 | 速度 | negative |
3 | コーヒーメーカーA3 | 操作が簡単で、毎朝美味しいコーヒーを手軽に楽しめます。デザインもシンプルでキッチンに馴染みます。お手入れも楽です。 | overall | positive |
3 | コーヒーメーカーA3 | 操作が簡単で、毎朝美味しいコーヒーを手軽に楽しめます。デザインもシンプルでキッチンに馴染みます。お手入れも楽です。 | サポート | unknown |
3 | コーヒーメーカーA3 | 操作が簡単で、毎朝美味しいコーヒーを手軽に楽しめます。デザインもシンプルでキッチンに馴染みます。お手入れも楽です。 | デザイン | positive |
3 | コーヒーメーカーA3 | 操作が簡単で、毎朝美味しいコーヒーを手軽に楽しめます。デザインもシンプルでキッチンに馴染みます。お手入れも楽です。 | バッテリー | unknown |
3 | コーヒーメーカーA3 | 操作が簡単で、毎朝美味しいコーヒーを手軽に楽しめます。デザインもシンプルでキッチンに馴染みます。お手入れも楽です。 | 価格 | unknown |
3 | コーヒーメーカーA3 | 操作が簡単で、毎朝美味しいコーヒーを手軽に楽しめます。デザインもシンプルでキッチンに馴染みます。お手入れも楽です。 | 品質 | unknown |
3 | コーヒーメーカーA3 | 操作が簡単で、毎朝美味しいコーヒーを手軽に楽しめます。デザインもシンプルでキッチンに馴染みます。お手入れも楽です。 | 操作性 | positive |
3 | コーヒーメーカーA3 | 操作が簡単で、毎朝美味しいコーヒーを手軽に楽しめます。デザインもシンプルでキッチンに馴染みます。お手入れも楽です。 | 速度 | unknown |
4 | ノートパソコンP5 | 処理速度は非常に速く、作業が快適です。しかし、本体が少し重いのと、ファンの音が気になることがあります。画面の綺麗さには満足。 | overall | mixed |
4 | ノートパソコンP5 | 処理速度は非常に速く、作業が快適です。しかし、本体が少し重いのと、ファンの音が気になることがあります。画面の綺麗さには満足。 | サポート | unknown |
4 | ノートパソコンP5 | 処理速度は非常に速く、作業が快適です。しかし、本体が少し重いのと、ファンの音が気になることがあります。画面の綺麗さには満足。 | デザイン | positive |
4 | ノートパソコンP5 | 処理速度は非常に速く、作業が快適です。しかし、本体が少し重いのと、ファンの音が気になることがあります。画面の綺麗さには満足。 | バッテリー | unknown |
4 | ノートパソコンP5 | 処理速度は非常に速く、作業が快適です。しかし、本体が少し重いのと、ファンの音が気になることがあります。画面の綺麗さには満足。 | 価格 | unknown |
4 | ノートパソコンP5 | 処理速度は非常に速く、作業が快適です。しかし、本体が少し重いのと、ファンの音が気になることがあります。画面の綺麗さには満足。 | 品質 | positive |
4 | ノートパソコンP5 | 処理速度は非常に速く、作業が快適です。しかし、本体が少し重いのと、ファンの音が気になることがあります。画面の綺麗さには満足。 | 操作性 | positive |
4 | ノートパソコンP5 | 処理速度は非常に速く、作業が快適です。しかし、本体が少し重いのと、ファンの音が気になることがあります。画面の綺麗さには満足。 | 速度 | positive |
5 | 高性能カメラC7 | 画質はプロ級で素晴らしいの一言。機能も豊富ですが、初心者には操作が少し難しいかもしれません。価格が高いだけの価値はあります。 | overall | mixed |
5 | 高性能カメラC7 | 画質はプロ級で素晴らしいの一言。機能も豊富ですが、初心者には操作が少し難しいかもしれません。価格が高いだけの価値はあります。 | サポート | unknown |
5 | 高性能カメラC7 | 画質はプロ級で素晴らしいの一言。機能も豊富ですが、初心者には操作が少し難しいかもしれません。価格が高いだけの価値はあります。 | デザイン | positive |
5 | 高性能カメラC7 | 画質はプロ級で素晴らしいの一言。機能も豊富ですが、初心者には操作が少し難しいかもしれません。価格が高いだけの価値はあります。 | バッテリー | unknown |
5 | 高性能カメラC7 | 画質はプロ級で素晴らしいの一言。機能も豊富ですが、初心者には操作が少し難しいかもしれません。価格が高いだけの価値はあります。 | 価格 | negative |
5 | 高性能カメラC7 | 画質はプロ級で素晴らしいの一言。機能も豊富ですが、初心者には操作が少し難しいかもしれません。価格が高いだけの価値はあります。 | 品質 | positive |
5 | 高性能カメラC7 | 画質はプロ級で素晴らしいの一言。機能も豊富ですが、初心者には操作が少し難しいかもしれません。価格が高いだけの価値はあります。 | 操作性 | neutral |
5 | 高性能カメラC7 | 画質はプロ級で素晴らしいの一言。機能も豊富ですが、初心者には操作が少し難しいかもしれません。価格が高いだけの価値はあります。 | 速度 | unknown |
最後に
Snowflakeで製品レビューなどのテキストを指定したカテゴリ別に感情分析できる「ENTITY_SENTIMENT」関数がリリースされたので、試してその内容をまとめてみました。
カテゴリをどう指定するかはユーザー側がきちんと考える必要がありそうですが、関数一つで気軽にカテゴリ別の感情分析ができるのはとても便利だと感じました!ぜひご活用ください。