本文使用MaxCompute公用模型進行網路評論情感分析的情境實踐。
情境說明
隨著社交媒體和電商平台的快速發展,互連網使用者產生的評論資料快速增長,蘊含著豐富的公眾情緒與觀點。網路評論情感分析(Sentiment Analysis on Online Comments)已成為輿情監控、品牌管理和產品最佳化的重要工具。本文通過一個實際案例,展示如何在MaxCompute中使用SQL調用AI Function,結合平台內建的公用大模型(如Qwen3-0.6B-GGUF),直接對評論進行情感分類和地理資訊提取。無需模型部署或外部服務,資料無需搬移,即可在安全可控的環境中完成智能分析,大幅提升分析效率與便捷性。
方案優勢
基於MaxCompute的公用模型與AI Function,使用者無需部署模型或開發函數,僅用簡單SQL即可完成文本情感分析等複雜情境的資料分析任務。
分析過程在平台內部完成,無需資料搬遷,不依賴外部服務,保障資料安全與合規。
降低使用門檻,提升分析效率。相較於傳統的資料分析方法,如使用靜態映射表、Regex等,有更強的擴充性、靈活性和處理複雜關係的能力,無需投入較高的維護成本,使用門檻更低、業務更友好。
環境準備
開通MaxCompute和建立MaxCompute專案。如已完成可跳過此步驟。
資料準備
本樣本中的命令通過本地用戶端(odpscmd)運行。
建表
建立表詳情請參見建立和刪除表:
CREATE TABLE IF NOT EXISTS emotional_comment
(
content_id STRING COMMENT '評論id',
text STRING COMMENT '評論內容',
publish_time STRING COMMENT '評論時間',
use_id STRING COMMENT '使用者id',
user_followers STRING COMMENT '使用者粉絲數',
user_region STRING COMMENT '使用者地區',
repost_count STRING COMMENT '轉寄量',
comment_count STRING COMMENT '評論量',
quote_count STRING COMMENT '點贊量'
);匯入資料
範例資料檔案下載:demo_comment.csv。
TUNNEL UPLOAD demo_comment.csv emotional_comment;
SELECT * FROM emotional_comment LIMIT 10;
+------------------+----------------------------------------------------+---------------+------------+----------------+-------------+--------------+---------------+-------------+
| content_id | text | publish_time | user_id | user_followers | user_region | repost_count | comment_count | quote_count |
+------------------+----------------------------------------------------+---------------+------------+----------------+-------------+--------------+---------------+-------------+
| 5087a5a3c22e3f4c | 今天天氣真好,心情很不錯!陽光明媚,適合出去散步。 | 2025/5/27 12:49 | user_918561 | 132169 | 西安市 | 1015 | 3197 | 1300 |
| 299aa8f97b6fee2f | 今天天氣真好,心情很不錯!陽光明媚,適合出去散步。 | 2025/5/31 07:46 | user_403208 | 669019 | 呼和浩特市 | 6616 | 4876 | 201 |
| e7ee00dec51b28f6 | 科技發展日新月異,人工智慧改變生活。 | 2025/5/17 11:39 | user_291936 | 840757 | 南寧市 | 264 | 3668 | 174 |
| 0c0d61608cabbac3 | 防控措施很到位,為醫護人員點贊! | 2025/5/18 03:29 | user_154572 | 925604 | 福州市 | 2154 | 652 | 470 |
| 106b979787b580d1 | 今天天氣真好,心情很不錯!陽光明媚,適合出去散步。 | 2025/5/28 14:45 | user_528807 | 656952 | 青島市 | 6617 | 3890 | 1275 |
| 05b0e2ef4636d5c9 | 環保意識需要進一步提高,保護我們的地球家園。 | 2025/5/16 09:06 | user_693289 | 211093 | 佛山市 | 4283 | 1592 | 1792 |
| c9773c4a632a8839 | 這家餐廳的服務態度很好,菜品也很美味,值得推薦。 | 2025/5/21 19:19 | user_850376 | 817461 | 瀋陽市 | 9552 | 3974 | 1740 |
| 089e0c5dddc53198 | 環保意識需要進一步提高,保護我們的地球家園。 | 2025/5/17 10:58 | user_800324 | 716599 | 哈爾濱市 | 5725 | 4437 | 939 |
| 04fd7323a957d978 | 教育改革措施需要更多時間來觀察效果。 | 2025/5/26 01:25 | user_544689 | 416372 | 合肥市 | 1440 | 4185 | 416 |
| 04cf4066c5c1e9c7 | 這家餐廳的服務態度很好,菜品也很美味,值得推薦。 | 2025/5/27 03:49 | user_373334 | 722353 | 長春市 | 1134 | 3936 | 773 |
+------------------+----------------------------------------------------+---------------+------------+----------------+-------------+--------------+---------------+-------------+
查看公用模型
運行SQL命令查看公用模型Qwen3-0.6B。
-- 設定flag。
SET odps.task.major.version=flighting;
SET odps.sql.using.public.model=true;
SET odps.namespace.schema=false;
-- 查看公用模型詳情。
DESC MODEL bigdata_public_modelset.Qwen3-0.6B-GGUF;
+------------------------------------------------------------------------------------+
| Model Information |
+------------------------------------------------------------------------------------+
| Owner: ALIYUN$od**@aliyun-inner.com |
| Project: bigdata_public_modelset |
| Model Name: Qwen3-0.6B-GGUF |
| Model Type: LLM |
| Source Type: IMPORT |
| Default Version: v1 |
| CreateTime: 2025-09-25 23:35:31 |
| LastModifiedTime: 2025-09-25 23:35:31 |
| Comment: MaxCompute Public LLM Model Qwen3-0.6B-GGUF with 8-bit mixed quantization (Q8_0), using default settings {"max_tokens": 500, "temperature": 0.6, "top_p": 0.95}. Source:https://huggingface.co/unsloth/Qwen3-0.6B-GGUF |
+------------------------------------------------------------------------------------+
| Version Information |
+------------------------------------------------------------------------------------+
| Owner: ALIYUN$****@aliyun-inner.com |
| Project: bigdata_public_modelset |
| Model Name: Qwen3-0.6B-GGUF |
| Model Type: LLM |
| Source Type: IMPORT |
| Version Name: v1 |
| Path: |
| CreateTime: 2025-09-25 23:35:31 |
| LastModifiedTime: 2025-09-25 23:35:31 |
+------------------------------------------------------------------------------------+
| Input | Type | Comment |
+------------------------------------------------------------------------------------+
| prompt | string | |
| settings | string | |
+------------------------------------------------------------------------------------+
資料分析
下面的範例程式碼展示了如何在MaxCompute中通過AI_GENERATE函數,結合公用大模型(Qwen3-0.6B-GGUF),在一個SQL查詢中同時完成兩項AI推理任務:
地理資訊解析:根據使用者評論中的城市名稱(如“西安市”),自動推斷其所屬的省級行政區(如“陝西省”);
情感傾向分類:對評論文本進行情感分析,輸出標準化標籤(“正面”、“負面”或“中性”)。
函數的使用詳情參見AI_GENERATE:
-- 通過AI_GENERATE函數調用內建的千問3模型,產生省會城市名稱和情感分析的標籤結果。
SELECT
AI_GENERATE(
bigdata_public_modelset.Qwen3-0.6B-GGUF,
default_version,
CONCAT(
'請提供以下城市所在的省份,如果該城市是直轄市或特區則直接顯示該城市名,輸出僅包含省份名稱。城市名:',user_region),
'{"max_tokens": 1000, "temperature": 0.7}'
) as province,
user_region,
AI_GENERATE(
bigdata_public_modelset.Qwen3-0.6B-GGUF,
default_version,
CONCAT(
'請對以下評論進行情感分析分類,輸出結果僅限於以下三個選項之一:正面、負面、中性。待分析的評論:', text),
'{"max_tokens": 1000, "temperature": 0.7}'
) as sentiment_label,
text
FROM emotional_comment limit 20
;
+--------------------+----------------+--------------------+----------------------------------------------------+
| province | user_region | sentiment_label | text |
+--------------------+----------------+--------------------+----------------------------------------------------+
| "陝西省" | 西安市 | "正面" | 今天天氣真好,心情很不錯!陽光明媚,適合出去散步。 |
| "內蒙古自治區" | 呼和浩特市 | "正面" | 今天天氣真好,心情很不錯!陽光明媚,適合出去散步。 |
| "廣西" | 南寧市 | "正面" | 科技發展日新月異,人工智慧改變生活。 |
| "福建省" | 福州市 | "正面" | 防控措施很到位,為醫護人員點贊! |
| "河北省" | 青島市 | "正面" | 今天天氣真好,心情很不錯!陽光明媚,適合出去散步。 |
| "甘肅省" | 蘭州市 | "中性" | 教育改革措施需要更多時間來觀察效果。 |
| "福建省" | 福州市 | "正面" | 科技發展日新月異,人工智慧改變生活。 |
| "湖南省" | 長沙市 | "負面" | 對這個措施表示強烈抗議,這完全不合理! |
| "四川省" | 重慶市 | "正面" | 防控措施很到位,為醫護人員點贊! |
| "廣東省" | 廣州市 | "正面" | 食品安全問題不容忽視,監管要更加嚴格。 |
| "陝西省" | 西安市 | "負面" | 最近股市波動很大,投資需要謹慎。 |
| "山東省" | 濟南市 | "正面" | 今天天氣真好,心情很不錯!陽光明媚,適合出去散步。 |
| "河北省" | 天津市 | "正面" | 新產品發布會很成功,期待後續發展。 |
| "河北省" | 天津市 | "正面" | 今天天氣真好,心情很不錯!陽光明媚,適合出去散步。 |
| "新疆" | 烏魯木齊市 | "負面" | 樓價又漲了,年輕人買房壓力越來越大。 |
| "廣西" | 南寧市 | "正面" | 新產品發布會很成功,期待後續發展。 |
| "青海省" | 西寧市 | "正面" | 體育賽事精彩紛呈,為運動員加油! |
| "黑龍江省" | 哈爾濱市 | "負面" | 最近股市波動很大,投資需要謹慎。 |
| "黑龍江省" | 哈爾濱市 | "正面" | 體育賽事精彩紛呈,為運動員加油! |
| "江蘇省" | 南京市 | "負面" | 交通堵塞太嚴重了,上班遲到了半小時,真是煩人。 |
+--------------------+----------------+--------------------+----------------------------------------------------+