SENTIMENT (SNOWFLAKE.CORTEX)

Snowflake Cortex AI には、顧客のコメントやレビューなどのテキストデータに対してセンチメント分析を簡単に実行する機能を提供する、タスクに特化した 2 つの関数があります。

ENTITY_SENTIMENT は、全体的なセンチメントとエンティティ固有の粒度のセンチメントの両方を提供します。テキストの特定の側面のセンチメント分析を必要とする大文字と小文字、または肯定的、否定的、中立的、および混合的なセンチメントのニュアンス識別を必要とするユースケースに最適です。例:

  • 詳細な製品分析

  • 包括的なブランド認知調査

  • 高度なマーケット・インテリジェンス

  • カスタマー経験ジャーニー マッピング

SENTIMENT は、否定的や肯定的な度合いを示すセンチメントスコアを数値で返します。次のような、粒度のエンティティレベル分析についてのスピードとコスト効率を優先するユースケース向けに設計されています。

  • ソーシャルセンチメントのモニタリングとアラート

  • 大量の顧客フィードバックのトリアージ

  • コンテンツパフォーマンススキャン

センチメントの質

ENTITY_SENTIMENT は、業界をリードするアスペクトベースおよび総合的なセンチメント精度を提供します。次の表は、Snowflake が提供するモデルやその他の一般的なモデルを含む、Aspect Based Sentiment (ABSA-mix) および Overall Sentiment ベンチマークにおける一般的なモデルのパフォーマンスに関する情報です。


関数またはモデル
アスペクトベースのセンチメント
精度 (ABSA-mix)

総合的なセンチメントの精度

Cortex AI ENTITY_SENTIMENT

0.91

0.86

claude-3-5-sonnet

0.84

0.72

mistral-large2

0.83

0.77

GPT-4

0.82

0.73

llama3.3-70b

0.81

0.72

llama3.1-8b

0.77

0.79

Cortex AI SENTIMENT

なし

0.71

Tip

どの関数があなたのニーズに最適かわからない場合は、 ENTITY_SENTIMENT で、ベースラインを確立するために開始します。その後、 SENTIMENT を試してみて、 ENTITY_SENTIMENT によって提供される追加的な粒度とニュアンスが、あなたのケースに必要かどうかを確認してください。

ENTITY_SENTIMENT

Cortex AI ENTITY_SENTIMENT は、全体的な肯定的、否定的、中立的なバケットを超えて、顧客の意見のスペクトルをキャプチャします。アスペクトベースのセンチメント分析では、センチメントを分析するコンテンツ (顧客のコメントやレビューなど) とエンティティ (アスペクトまたはカテゴリ) を指定します。ENTITY_SENTIMENT は、各エンティティのセンチメントスコアと全体のセンチメントスコアを返します。

次の例では、 ENTITY_SENTIMENT を使用して、製品レビューのセンチメント分類を取得します。

SELECT SNOWFLAKE.CORTEX.ENTITY_SENTIMENT('A tourist\'s delight, in low urban light,
  Recommended gem, a pizza night sight.  Swift arrival, a pleasure so right,
  Yet, pockets felt lighter, a slight pricey bite. 💰🍕🚀',
  ['Cost', 'Quality', 'Waiting Time']);
Copy

応答:

{
  "categories": [
    {
      "name": "overall",
      "sentiment": "mixed"
    },
    {
      "name": "Cost",
      "sentiment": "negative"
    },
    {
      "name": "Quality",
      "sentiment": "positive"
    },
    {
      "name": "Waiting Time",
      "sentiment": "positive"
    }
  ]
}

次の例では、製品レビューの内容に関係のないエンティティ、ProfessionalismとBrandを「通過」させ、「不明」として分類しています。

SELECT SNOWFLAKE.CORTEX.ENTITY_SENTIMENT('A tourist\'s delight, in low urban light,
  Recommended gem, a pizza night sight. Swift arrival, a pleasure so right,
  Yet, pockets felt lighter, a slight pricey bite. 💰🍕🚀',
  ['Cost', 'Professionalism' ,'Brand']);
Copy

応答:

{
  "categories": [
    {
      "name": "overall",
      "sentiment": "mixed"
    },
    {
      "name": "Brand",
      "sentiment": "unknown"
    },
    {
      "name": "Cost",
      "sentiment": "negative"
    },
    {
      "name": "Professionalism",
      "sentiment": "unknown"
    }
  ]
}

全体的なセンチメントのみが必要な場合は、分析エンティティなしでコンテンツを指定します。

SELECT SNOWFLAKE.CORTEX.ENTITY_SENTIMENT('I went to the store, bought the leggings and exact same as shorts...
  they are expensive but i heard such great things. After wearing them twice i noticed a string popping out already.
  And aince i believed that they were this amazing luxury brand i didnt keep the receipt 😭 ');
Copy

応答:

{
  "categories": [
    {
      "name": "overall",
      "sentiment": "mixed"
    }
  ]
}

SENTIMENT

Cortex AI SENTIMENT 関数は、全体的なセンチメントを-1.0 から 1.0 の間のスコアとして返します。1に近いほど、テキストが肯定的な感情を持つ可能性が高く、-1に近いほど、テキストが否定的な感情を持つ可能性が高くなります。以下の表は、センチメント・スコアの解釈に関するガイダンスを示しています。

センチメント

センチメント・スコア

肯定的

0.5~1

中立的

-0.5~0.5

否定的

-0.5~-1

次の例では、 SENTIMENT を使って、フードサービスのレビューのセンチメント分類を取得しています。確率スコアが 0.54 であることから、ポジティブであると推測できます。

SELECT SNOWFLAKE.CORTEX.SENTIMENT('A tourist\'s delight, in low urban light,
  Recommended gem, a pizza night sight. Swift arrival, a pleasure so right,
  Yet, pockets felt lighter, a slight pricey bite. 💰🍕🚀');
Copy

応答:

0.5424458

モデルの制限

Snowflake Cortex AI で利用可能なすべてのモデルには、モデルの コンテキストウィンドウ と呼ばれる入出力トークンの総数に制限があります。

ENTITY_SENTIMENT のコンテキストウィンドウは、モデルが高い精度を維持できるようにセットされています。ENTITY_SENTIMENT は、2,048 トークン(約 1,600 語)のテキスト入力用にトレーニングおよび最適化されており、最大 10 個のエンティティカテゴリ(それぞれ 30 文字以内)を渡すことができます。

注釈

ENTITY_SENTIMENT と SENTIMENT は現在英語に最適化されています。

関数

コンテキストウィンドウ(トークン)

最大エンティティラベル

ENTITY_SENTIMENT

2,048

10

SENTIMENT

512

なし

リージョンの可用性

ENTITY_SENTIMENT および SENTIMENT は以下のリージョンで利用可能です。

関数
(モデル)
AWS US西部2
(オレゴン)
AWS US東部1
(N.バージニア)
AWSヨーロッパ中部1
(フランクフルト)
AWS ヨーロッパ西部1
(アイルランド)
AWS AP 南東部2
(シドニー)
AWS AP 北東部1
(東京)
Azure東部 US 2
(バージニア)
Azure西ヨーロッパ
(オランダ)
AWS
(リージョン横断)

ENTITY_SENTIMENT

SENTIMENT