1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

SnowflakeのオフィスでCORTEXハンズオンを受けてきました。
8E671C83-0D85-4652-88C4-D1D93721ADD8.png

いろいろ新たな知識が増えた気がしますが、一番刺さったAI_FILTER関数についてだけ、取り急ぎoutputしておきます。
※現時点でAI_FILTER関数はPublic Previewです。

現地からのポスト

リアルタイムでのXのポストは下記です。

説明

このポストの写真のクエリを改めて書くと

SELECT
review_id,
review_text
FROM CUSTOMER_REVIEWS
WHERE AI_FILTER(CONCAT('ポジティブな内容か?: ', review_text)) = TRUE;

review_textがポジティブなものを絞って出力するという、なんかヤバいWHERE句なんです。
今までのデータの持ち方だとIS_POSITIVEみたいなカラムを用意しておいて、そこに事前にSENTIMENT関数で判定しておいたTRUE/FALSEの結果を入れたうえで

WHERE IS_POSITIVE = TRUE

ってやると思うんです。

訂正
SENTIMENT関数は-1~1の間の数値を返すのでWHERE句は数値の判定を行うものでした。

そんな手間を一足飛びで飛び越してテキストの値そのものにAI_FILTER関数をかけることでできてしまうという。
WHERE句の概念が崩壊してきました。

帰宅してからの復習

実際にハンズオンでやった部分、家で改めて再実行したのでクエリや結果も記しておきます。

-- ロール、DB、スキーマ、ウェアハウスの設定
USE ROLE accountadmin;
USE DATABASE snowretail_db;
USE SCHEMA snowretail_schema;
USE warehouse compute_wh;

table CUSTOMER_REVIEWS;

↑最後のtable テーブル名;は前回の投稿をご覧ください。

CUSTOMER_REVIEWSテーブルをSELECT。
スクリーンショット 2025-06-23 212620.png

とりあえずCUSTOMER_REVIEWSをWHERE句なしで出してみました。

このCUSTOMER_REVIEWSテーブルのreview_text列に対してAI_FILTER関数をかましました。

-- AI_FILTER関数による条件フィルタリング
SELECT 
    review_id,
    review_text,
    AI_FILTER(CONCAT('この商品に関するポジティブな評価が含まれているか?: ', review_text)) as is_positive_review
FROM CUSTOMER_REVIEWS
WHERE AI_FILTER(CONCAT('商品の品質について言及されているか?: ', review_text)) = TRUE
LIMIT 10;

WHERE句だけでなく、SELECT項目の方にもAI_FILTER関数があります。
まずWHERE句でreview_text列の値が「商品の品質について言及されているか?」でTRUEのものに絞っています。
そのうえでreview_text列の値が「この商品に関するポジティブな評価が含まれているか?」を判定してTRUE/FALSEで返すようにしています。
WHERE句だけに使うものではないと。( ..)φメモメモ

※今更ですがAI_FILTER関数はBool値を返すものです。

image.png

この結果の画像を見ても、TRUEになっているものは確かにポジティブなことが書いてあるし、FALSEのものはネガティブなことが書いてあります。

いや、むちゃんこすごいな。
JOINの際に両方に対してAI_FILTER関数かまして結合させることもできるそうです。
注)ただしその場合はテーブルの件数が500件以下であることの制約があるとのこと。

他にも
AI_AGG
AI_SUMMERIZE_AGG
AI_CLASSIFY
AI_SIMIRALITY
などもありまして、それぞれ試してみました。(省略。)

追加

先頭の絵、盛りすぎた。
ホントはこっちです。
EF35FEF7-906C-43D3-BA14-0D4FECB5C140.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?