一行 SQL 搞定外卖平台评价智能分析 —— MaxCompute SQL AI 实战
业务场景描述
在外卖平台业务中,每天都会收到海量用户评价。传统的评价分析需要将数据导出到 Python 环境,调用情感分析库,处理后再导回数据库,链路冗长且维护成本高。
本次实践,我将直接在 MaxCompute 中使用 SQL AI 功能,对一批外卖订单的用户评价进行情感分类(正向/负向),并针对负面评价自动生成改进建议,帮助运营团队快速识别服务痛点。
数据准备
首先,我们在 MaxCompute 中有一张名为 food_reviews 的表,包含用户评论文本:
-- 创建示例数据表
CREATE TABLE IF NOT EXISTS food_reviews (
review_id BIGINT,
order_id STRING,
content STRING,
restaurant_name STRING
);
-- 插入示例数据
INSERT INTO TABLE food_reviews VALUES
(1, 'ORD10001', '外卖很快,菜品新鲜,包装严实,味道超赞!',
'川味小馆'),
(2, 'ORD10002', '配送速度慢,等了一个多小时,饭菜都凉了。',
'湘菜馆'),
(3, 'ORD10003', '分量足,价格实惠,但汤品太咸,建议调整口味。
', '家常菜'),
(4, 'ORD10004', '服务态度好,餐品质量稳定,会一直回购。', '
寿司店');
SQL AI 实战代码
借助 MaxCompute SQL AI,我们可以直接通过 AI_ANALYZE 函数调用大模型。以下是实现“情感分析”与“建议生成”的核心 SQL:
-- 使用 SQL AI 进行情感判定与建议生成
SELECT
review_id,
order_id,
restaurant_name,
content,
-- 步骤1:判定情感倾向
AI_ANALYZE(content, "请判定这段外卖评价的情感倾向是'正向'
还是'负向'。") AS sentiment,
-- 步骤2:针对评价内容给出业务改进建议
AI_ANALYZE(content, "你是一位外卖平台运营专家,请根据这条
用户反馈给出一句话的改进建议。") AS suggestion
FROM
food_reviews;
注 :在实际操作中,MaxCompute SQL AI 还支持定义 Service(服务)和 Model(模型)。如果您使用的是自定义模型,语法可能类似于 AI_PREDICT(model_name, content)。
执行效果展示
执行上述 SQL 后,我们得到了如下结果:
review_id order_id restaurant_name content sentiment suggestion 1 ORD10001 川味小馆 外卖很快,菜品新鲜,包装严实,味道超赞! 正向 保持高效配送和菜品质量,可作为优质商家标杆宣传。 2 ORD10002 湘菜馆 配送速度慢,等了一个多小时,饭菜都凉了。 负向 优化配送路线规划,建议使用保温箱确保餐品温度。 3 ORD10003 家常菜 分量足,价格实惠,但汤品太咸,建议调整口味。 负向 根据用户反馈调整汤品咸度,可增加口味选择选项。 4 ORD10004 寿司店 服务态度好,餐品质量稳定,会一直回购。 正向 维持服务质量和餐品稳定性,可推出会员专属优惠。
使用体验与总结
通过这次实践,我有以下几点深刻体会:
极简开发 :以前需要写几十行 Python 代码、处理 API 调用和数据转换的问题,现在只需要写一段 SQL。这种“数据在哪里,AI 就在哪里”的体验非常丝滑。
效率提升 :大规模离线数据的处理可以直接利用 MaxCompute 的计算算力,无需数据频繁搬迁,极大地节省了 ETL 时间。
场景广阔 :除了情感分析,这种方式还可以用于评价主题提取、自动分类(如口味问题、配送问题)、甚至生成商家运营报告。
建议 :希望后续能支持更多行业专属的 Prompt 模版预设,以及针对超大规模数据处理时更细粒度的进度展示。
通过 MaxCompute SQL AI,我们可以快速将 AI 能力融入数据处理流程,为业务决策提供更智能、更及时的洞察。