本文为您介绍如何使用AI_SENTIMENT通过AI大模型进行情感分析。
使用限制
仅实时计算引擎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',
'endpoint'='<YOUR ENDPOINT>',
'apiKey' = '<YOUR KEY>',
'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 |
该文章对您有帮助吗?