乐于分享
好东西不私藏

用蓝耘MaaS+Excel插件:5分钟完成千条用户反馈的情感分析

用蓝耘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三大核心生产要素的协同闭环,实现从基础设施到行业场景的全链路技术赋能。

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 用蓝耘MaaS+Excel插件:5分钟完成千条用户反馈的情感分析

评论 抢沙发

4 + 5 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮