用蓝耘MaaS+Excel插件:5分钟完成千条用户反馈的情感分析
数字化时代,企业每天都被海量用户反馈包围——电商平台的商品评价、社交媒体的品牌提及、客服系统的对话记录……这些非结构化文本中,潜藏着用户对产品与服务的真实态度,是企业优化决策的“金矿”。然而,传统人工分析模式却让这座金矿难以高效开采:
-
效率低下:1000条评论需2-3人耗时一整天
-
主观偏差:不同分析员对“还行”“一般”等模糊表述判定不一
-
无法实时化:周报级分析严重滞后于业务响应需求
当大模型技术日趋成熟,MaaS(模型即服务)为这一困境提供了全新解法。企业无需自建AI团队与算力集群,只需通过API调用预训练大模型,即可快速实现文本情感分类、关键词提取等NLP任务。
本文将结合蓝耘元生代MaaS平台与Excel VBA插件,手把手演示如何1分钟内完成千条用户反馈的情感分析,并自动生成可视化结果,让数据分析从“耗时耗力”走向“即需即用”。
以下内容来源于CSDN,作者钱来八方来
一、技术准备:工具链与核心逻辑
1. 蓝耘MaaS平台
蓝耘MaaS是国内领先的AI模型服务平台,提供多种大模型的API接口,包括GPT-3.5、LLaMA-2、文心一言等,支持按量计费(0.01元/千token)、多轮对话、自定义提示词等功能。其优势主要有以下几点:
-
低延迟:单条文本分析耗时<200ms;
-
高准确率:针对中文情感分析优化,F1值达92%以上;
-
易集成:提供RESTful API,支持Python/Java/VBA等多语言调用。
2. Excel VBA插件:轻量化数据管道
Excel作为企业最熟悉的数据处理工具,通过VBA(Visual Basic for Applications)可以实现与MaaS API的无缝对接。核心逻辑就是:读取Excel中的用户反馈列表→调用蓝耘MaaS API获取情感标签→将结果写回Excel指定列。这里的用户反馈列表我会在下面提供如何获取的操作步骤,大家可以稍微帆帆。
首先我们需要访问官网UCI数据集官网获取你自己所想要的数据,里边几乎都有。然后我们在搜索框输入:sentiment analysis或 product reviews;在这里搜索数据集会出现对应的相关数据(已脱敏可以直接套用拿来测试)
将该数据集下载到你的电脑中(通常为TXT/CSV格式,可直接导入Excel),保存至桌面。
3. 整体流程设计
整个操作步骤分为四步,总耗时<5分钟(以2049条数据为例):
1.数据准备:
首先我们需要获得各自企业产品的用户评价,将这些数据反馈至Exce并单列存储,方便后续操作。
2.环境配置:
注册蓝耘MaaS账号(注册过程可以点击主页,上一个文章里边有教程),获取API Key;
3.VBA开发:
编写好代码后将其导入Excel表,实现API调用与结果写入;这之前需要把数据导入Excel表格,然后进行分析,
4.结果分析:
生成情感分布饼图
二、实操:从0到1实现自动化分析
1.数据准备与平台注册
首先我们需要准备一些数据,这边我用从UCI数据集光网拿来的数据进行举例
然后我们访问蓝耘Maas平台,我们直接在API管理里面创建一个API Key,不搞那么麻烦的,直接硬刚。
2.VBA环境配置
打开Excel,按Alt+F11进入VBA编辑器,依次执行以下操作:
击【工具】→【引用】,勾选Microsoft XML, v6.0(用于HTTP请求)和Microsoft Scripting Runtime(用于JSON解析);

插入模块:右键工程资源管理器→【插入】→【模块】,在这个模板块里粘贴VBA检测代码,看看是不是已经与蓝耘API接口连接。
这里文件夹里有多个TXT/CSV文件,所以我们需要将这些文件全部进行合并并加载到Excel中。首先我们打开Excel,点击【数据】—【获取数据】—【来自文件】—【从文件夹】在弹出的窗口里,找到你存TXT文件的文件夹,点击【打开】,统会列出文件夹里所有文件,点击底部的【合并】—【合并并加载】;在弹出的“合并文件”窗口,选择【示例文件】为任意一个TXT文件,然后点击【确定】
我给大家分享一个检测代码,大家可以直接粘贴进去进行API接口是否连接的检测。完整VBA代码(最简请求测试)
' ================================================================' 宏名称: TestOneRequest' 功能: 向蓝耘MaaS发送最简请求,测试API连通性和密钥有效性' 使用方法: ' 1. 在Excel按 Alt+F11 进入VBA编辑器' 2. 插入模块,粘贴此代码' 3. 按 Alt+F8 运行 TestOneRequest' ================================================================Sub TestOneRequest() Dim http As Object Dim url As String, apiKey As String Dim requestBody As String, resp As String ' ==================== 配置区(请确认)==================== ' 1. API地址(蓝耘官方示例,请核对最新文档) url = "https://maas-api.lanyun.net/v1/chat/completions" ' 2. 你的API Key(确保是 sk- 开头的一整串,不要有多余空格) apiKey = "sk-ps2nu4cu6gaxpde2jp4l6vsoc5yit5laqpggfnj54t5rz522" ' ========================================================== ' 3. 构造最简请求体(调用 DeepSeek-R1 模型,只返回少量内容) requestBody = "{""model"":""/maas/deepseek-ai/DeepSeek-R1""," & _ """messages"":[{""role"":""user"",""content"":""你好""}]," & _ """max_tokens"":5}" ' 4. 创建HTTP对象并发送请求 Set http = CreateObject("MSXML2.XMLHTTP") With http .Open "POST", url, False ' False=同步等待 .setRequestHeader "Content-Type", "application/json" .setRequestHeader "Authorization", "Bearer " & apiKey .send requestBody End With ' 5. 根据HTTP状态码判断结果,并弹窗显示 If http.Status = 200 Then MsgBox "✅ API连接成功!" & vbCrLf & _ "状态码:200" & vbCrLf & _ "返回内容:" & http.responseText, vbInformation, "测试结果" Else MsgBox "❌ API请求失败!" & vbCrLf & _ "状态码:" & http.Status & vbCrLf & _ "返回内容:" & http.responseText, vbCritical, "测试结果" End If ' 6. 清理对象 Set http = NothingEnd Sub
在VBA里新建这个宏,只发一条最简请求到蓝耘,看看最终结果返回什么,一般错误分为四大类,我分别展开进行解决:
-
状态码:200, 连接成功,说明问题出在批量宏的其他地方。
-
状态码:401,API Key 无效1.登录蓝耘控制台 —API密钥管理 —重新复制你的密匙,以sk-开头的完整Key。2.替换代码中的 API_KEY常量,确保完全一致。(有的时候是因为你多了空格或者其他原因,仔细查查看)3.有些平台Key有有效期或IP白名单限制,确认Key状态正常。
-
状态码:404,API 地址 (URL) 错误1.在蓝耘平台的【模型广场】找到蓝耘最新版本的Deepseek-V3.2,复制其od:/maas/deepseek-ai/DeepSeek-V3.2。然后点开示例,划到最底部找到cul == https://maas-api.lanyun.net/v1/chat/completions
把你自己的Key和模型的id以及cul全部换成正确的才能够正常运行。
-
状态码:429,请求过于频繁
-
状态码:0,网络连接问题说明Excel发请求时被拦截或连不上服务器,可以试试下面几种方法找一下原因:
1.换网络:
关掉连接的wifi用手机热点试试,排除公司防火墙限制。
2.关代理/VPN:
代理会导致Bearer认证失效。
3.加系统代理例外(如有):
Windows:设置 → 网络和Internet → 代理 → 确保Excel走直连。
4.防火墙/杀毒软件:
将 EXCEL.EXE加入白名单。
5.DNS问题:
尝试 ping api.lanyunai.com看是否通
然后下边就是接入成功之后在VBA编辑器里面设置的模块代码:
' 蓝耘MaaS情感分析VBA宏' 功能:批量分析Excel中的用户评论情感倾向Sub BatchSentimentAnalysis() Dim ws As Worksheet Dim lastRow As Long, i As Long Dim http As Object Dim comment As String, prompt As String Dim requestBody As String, resp As String Dim sentiment As String, note As String ' ================== 配置区域 ================== Const API_KEY As String = "sk-ps2nu4cu6gaxpde2jp4l6vsoc5yit5laqpggfnj54t5rz522" Const ENDPOINT_URL As String = "https://api.lanyunai.com/v1/chat/completions" Const INPUT_COL As String = "B" ' 评论所在列 Const OUTPUT_COL1 As String = "C" ' 情感结果列 Const OUTPUT_COL2 As String = "D" ' 备注列 Const START_ROW As Long = 2 ' 从第2行开始(第1行为标题) ' =============================================== ' 性能优化设置 Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False Set ws = ThisWorkbook.ActiveSheet lastRow = ws.Cells(ws.Rows.Count, INPUT_COL).End(xlUp).Row ' 数据验证 If lastRow < START_ROW Then MsgBox "没有找到需要分析的评论数据。请检查B列是否有数据。", vbExclamation GoTo CleanExit End If ' 创建HTTP对象 Set http = CreateObject("MSXML2.XMLHTTP") ' 主循环:逐行处理评论 For i = START_ROW To lastRow comment = Trim(ws.Cells(i, ColumnLetterToNumber(INPUT_COL)).Value) ' 跳过空行 If Len(comment) = 0 Then ws.Cells(i, ColumnLetterToNumber(OUTPUT_COL1)).Value = "无内容" ws.Cells(i, ColumnLetterToNumber(OUTPUT_COL2)).Value = "" GoTo ContinueNext End If ' 更新状态栏 Application.StatusBar = "正在分析第 " & i - START_ROW + 1 & " / " & lastRow - START_ROW + 1 & " 条评论..." ' 构造分析请求 prompt = "请判断下面这句话的情感倾向,只回答"积极"、"消极"或"中性"中的一个词,不要解释理由,不要加标点符号:" & vbCrLf & comment requestBody = "{""model"": ""gpt-3.5-turbo"", " & _ """messages"": [" & _ "{""role"": ""system"", ""content"": ""你是一个专业的情感分析助手,擅长分析用户评论的情感倾向。""}, " & _ "{""role"": ""user"", ""content"": """ & EscapeJsonString(prompt) & """}" & _ "], " & _ """temperature"": 0.1, " & _ """max_tokens"": 10" & _ "}" ' 发送API请求 With http .Open "POST", ENDPOINT_URL, False .setRequestHeader "Content-Type", "application/json" .setRequestHeader "Authorization", "Bearer " & API_KEY .send requestBody End With ' 处理响应 If http.Status = 200 Then resp = http.responseText sentiment = ParseSentimentResponse(resp) note = "成功" Else sentiment = "请求失败" note = "错误 " & http.Status & ": " & GetHttpErrorMessage(http.Status) End If ' 写入结果 ws.Cells(i, ColumnLetterToNumber(OUTPUT_COL1)).Value = sentiment ws.Cells(i, ColumnLetterToNumber(OUTPUT_COL2)).Value = note ' 每处理10条保存一次,防止数据丢失 If (i - START_ROW) Mod 10 = 0 Then ThisWorkbook.Save End IfContinueNext: Next i ' 最终保存 ThisWorkbook.Save ' 完成提示 Application.StatusBar = "分析完成!" MsgBox "情感分析完成!" & vbCrLf & _ "共处理 " & lastRow - START_ROW + 1 & " 条评论。" & vbCrLf & _ "结果已保存到C列(情感)和D列(状态)。", vbInformationCleanExit: ' 恢复Excel设置 Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Application.EnableEvents = True Application.StatusBar = False ' 清理对象 If Not http Is Nothing Then Set http = Nothing End IfEnd Sub' 辅助函数:将列字母转换为列号Function ColumnLetterToNumber(columnLetter As String) As Integer ColumnLetterToNumber = Range(columnLetter & "1").ColumnEnd Function' 辅助函数:转义JSON字符串中的特殊字符Function EscapeJsonString(str As String) As String Dim result As String result = Replace(str, "\", "\\") result = Replace(result, """", "\""") result = Replace(result, vbCr, "\r") result = Replace(result, vbLf, "\n") result = Replace(result, vbTab, "\t") EscapeJsonString = resultEnd Function' 辅助函数:解析API响应中的情感结果Function ParseSentimentResponse(responseText As String) As String Dim sentiment As String ' 尝试从不同格式的响应中提取情感 If InStr(responseText, """content"":""") > 0 Then ' OpenAI格式响应 Dim contentStart As Integer contentStart = InStr(responseText, """content"":""") + 11 Dim contentEnd As Integer contentEnd = InStr(contentStart, responseText, """") If contentEnd > contentStart Then sentiment = Mid(responseText, contentStart, contentEnd - contentStart) End If ElseIf InStr(responseText, "积极") > 0 Then sentiment = "积极" ElseIf InStr(responseText, "消极") > 0 Then sentiment = "消极" ElseIf InStr(responseText, "中性") > 0 Then sentiment = "中性" Else sentiment = "解析失败" End If ' 清理结果 sentiment = Trim(sentiment) sentiment = Replace(sentiment, """", "") sentiment = Replace(sentiment, ",", "") sentiment = Replace(sentiment, ".", "") sentiment = Replace(sentiment, "!", "") sentiment = Replace(sentiment, "?", "") ParseSentimentResponse = sentimentEnd Function' 辅助函数:获取HTTP错误消息Function GetHttpErrorMessage(statusCode As Integer) As String Select Case statusCode Case 400 GetHttpErrorMessage = "请求格式错误" Case 401 GetHttpErrorMessage = "API密钥无效" Case 403 GetHttpErrorMessage = "权限不足" Case 404 GetHttpErrorMessage = "API端点不存在" Case 429 GetHttpErrorMessage = "请求过于频繁" Case 500 GetHttpErrorMessage = "服务器内部错误" Case 502 GetHttpErrorMessage = "网关错误" Case 503 GetHttpErrorMessage = "服务不可用" Case Else GetHttpErrorMessage = "未知错误" End SelectEnd Function' 测试函数:验证API连接Sub TestApiConnection() Dim http As Object Dim requestBody As String Dim resp As String Set http = CreateObject("MSXML2.XMLHTTP") requestBody = "{""model"": ""gpt-3.5-turbo"", " & _ """messages"": [{""role"": ""user"", ""content"": ""测试""}], " & _ """max_tokens"": 5" & _ "}" With http .Open "POST", "https://api.lanyunai.com/v1/chat/completions", False .setRequestHeader "Content-Type", "application/json" .setRequestHeader "Authorization", "Bearer sk-ps2nu4cu6gaxpde2jp4l6vsoc5yit5laqpggfnj54t5rz522" .send requestBody End With If http.Status = 200 Then MsgBox "API连接测试成功!状态码:" & http.Status, vbInformation Else MsgBox "API连接测试失败!状态码:" & http.Status & vbCrLf & "错误信息:" & http.responseText, vbCritical End If Set http = NothingEnd Sub
这个代码有点长,复制粘贴即可,也是记住将deepseek的版本改一下以及id、url、密匙改一下导入后界面如下:
4.运行分析与结果验证
-
在Excel中按F5运行宏,等待约30秒;
-
分析完成后,C列会显示情感标签,D列显示成功或者失败
这里就是典型的url地址错了,这个URL地址你要改一下,加上这个API Key地址
去复制模型的IDS /maas/deepseek-ai/DeepSeek-V3.2,记得在上述图中代码找到正确的模型版本(最新版本),上述是deepseek-R1,但是现在已经是V3.2了,所以我们需要把模型地址也改了。运行成功之后就会跳出状态码:200,这表明蓝耘平台已经接受了我们的API接口申请,就可以继续完成操作了。我们在Excel界面,按“Alt+F8”跳出以下宏界面,我们选择BatchSentimentAnalysisi,点击【执行】,Excel就开始逐步分析每一个评论的情感倾向了。
等个差不多五分钟,2049条评论就分析成功了,具体时间大家可以根据这两千条评论所需要的时间去推算一下。
三、结果可视化:从数据到洞察
完成情感分类后,我们可以通过Excel自带的图表功能生成直观的分析报告。
情感分布饼图
选中C列(情感标签)数据,插入【饼图】,设置颜色(积极-绿色,消极-红色,中性-灰色),添加数据标签显示百分比。从数据中能发现,该商品的用户满意度较低(积极占比低于10%),大多数是消极和中性,说明该商品的质量与口碑皆是出现了问题,需要加以改正。
四、方案优势与适用场景
1. 该表格分析的核心优势
-
效率提升100倍:2000条数据人工分析需3-4天,本方案仅需5分钟,并且较为精确不带有主观想法。
-
成本可控:蓝耘MaaS按实际使用量计费,1000条分析成本约0.1元(远低于人工成本);
-
灵活扩展:支持调整模型(如切换为更细粒度的”五级情感分类”)、增加分析维度(如提取具体槽位信息)。
2. 适用场景
-
电商行业:商品评价分析、竞品对比;
-
金融行业:客户投诉分类、风险预警;
-
教育行业:课程评价分析、教学改进;
-
政务领域:民意调查、政策反馈。
五、总结与展望
通过蓝耘MaaS+Excel插件的组合,我们成功将用户反馈情感分析的门槛从”专业数据团队”降低至”业务人员自助操作”。这种”低代码+大模型”的模式,不仅解决了传统分析的效率问题,更让企业能够快速从非结构化文本中提取业务洞察,实现”数据驱动决策”。
未来,随着多模态大模型的发展,我们还可以扩展分析维度(比如结合用户评论中的图片/视频进行情感判断),进一步提升分析的深度与广度。对于希望快速落地AI应用的企业而言,这或许是最具性价比的切入点。






蓝耘科技集团股份有限公司成立于2004年,是国家高新技术企业、国家级专精特新“小巨人”企业,专注于构建面向人工智能时代的算力基础设施与全栈服务能力。公司以自主研发的 “元生代MetaGen” 智能算力操作系统(AIDC-OS)为核心技术生态,深度融合多元异构算力底座与算力调度平台、AI模型训推平台、MaaS服务平台、AI数据生成平台等全栈自研产品矩阵,打造 “算力工厂 + 数据工厂 + 模型工厂” 三位一体的赋能体系,为千行百业提供从底层算力支撑到AI应用落地的全栈式赋能。
元生代MetaGen智能算力操作系统(AIDC-OS)是蓝耘技术生态的底层架构与核心引擎,通过整合高性能GPU算力调度、容器化资源管理、混合云架构协同等能力,构建智能化、弹性化的算力操作系统。其核心价值在于打通算力、数据、模型AI三大核心生产要素的协同闭环,实现从基础设施到行业场景的全链路技术赋能。
![]() |
![]() |
![]() |

夜雨聆风



