本文為您介紹如何使用AI_SENTIMENT通過AI大模型進行情感分析。
使用限制
-
僅Realtime Compute引擎VVR 11.4及以上版本支援。
-
AI_SENTIMENT語句相關的Flink運算元的輸送量受到模型平台限流的限制。當觸及平台允許的訪問資料傳輸量上限時,Flink作業會表現出以該運算元為瓶頸的反壓現象。在限流情況嚴重時,可能會觸發相關運算元的逾時報錯及作業重啟。
文法
AI_SENTIMENT(
MODEL => MODEL <MODEL NAME>,
INPUT => <INPUT COLUMN NAME>
)
入參
|
參數 |
資料類型 |
說明 |
|
MODEL <MODEL NAME> |
MODEL |
註冊的模型服務名字。詳情請參見模型設定註冊模型服務。 注意:目前需要該模型的輸出類型為 VARIANT 類型。 |
|
<INPUT COLUMN NAME> |
STRING |
模型的待分析資料。 |
輸出
|
參數 |
資料類型 |
說明 |
|
score |
DOUBLE |
模型判斷的情感分數(-1.0 到 1.0 之間):
|
|
label |
STRING |
情感標籤(positive/negative/neutral) |
|
confidence |
DOUBLE |
模型輸出的信賴度 |
樣本
測試資料
|
id |
movie_name |
comment |
actual_label |
|
1 |
好東西 |
最愛小孩子猜聲音那段,算得上看過的電影裡相當浪漫的敘事了。很溫和也很有愛。 |
POSITIVE |
|
2 |
水餃皇后 |
乏善可陳 |
NEGATIVE |
測試語句
樣本SQL建立千問Qwen-Plus模型,使用AI_SENTIMENT函數對電影評論進行情感分類預測。
CREATE TEMPORARY MODEL general_model
INPUT (`input` STRING)
OUTPUT (`content` VARIANT)
WITH (
'provider' = 'openai-compat',
'task' = 'chat/completions',
'model' = 'qwen-plus'
);
CREATE TEMPORARY VIEW movie_comment(id, movie_name, user_comment, actual_label)
AS VALUES (1, '好東西', '最愛小孩子猜聲音那段,算得上看過的電影裡相當浪漫的敘事了。很溫和也很有愛。', 'positive'), (2, '水餃皇后', '乏善可陳', 'negative');
-- Use positional argument to call AI_SENTIMENT
SELECT id, movie_name, actual_label, score, label, confidence FROM movie_comment,
LATERAL TABLE(
AI_SENTIMENT(
MODEL general_model, user_comment));
-- Use named argument to call AI_SENTIMENT
SELECT id, movie_name, actual_label, score, label, confidence FROM movie_comment,
LATERAL TABLE(
AI_SENTIMENT(
MODEL => MODEL general_model,
INPUT => user_comment));
輸出結果
預測結果label 與實際結果actual_label一致。
|
id |
movie_name |
actual_label |
score |
label |
confidence |
|
1 |
好東西 |
positive |
0.8 |
positive |
0.95 |
|
2 |
水餃皇后 |
negative |
-1.0 |
negative |
0.95 |