资讯动态

GTE中文向量模型应用场景:外卖订单评价+菜品实体+口味情感三重分析

发布时间:2026/8/29 22:48:50 来源:尧图企业网站定制
GTE中文向量模型应用场景外卖订单评价菜品实体口味情感三重分析你是不是也经常点外卖点完之后看着满屏的评价有说“宫保鸡丁太辣了”有说“配送太慢”还有说“包装精美味道一般”。这些评价里藏着用户的真实感受、对菜品的具体反馈甚至是对商家的建议。但问题是这些信息是零散的、非结构化的商家很难从中快速提炼出有价值的信息。今天我们就来聊聊如何用AI技术特别是基于ModelScope的GTE文本向量-中文-通用领域-large模型来一站式解决这个问题。我们将构建一个多任务Web应用它能像一位经验丰富的分析师从一条外卖评价中同时完成三件事识别菜品实体找出评价里提到了哪些菜比如“宫保鸡丁”、“奶茶”。分析口味情感判断用户对这个菜的口味是“好评”、“差评”还是“中评”以及具体的情感词“太辣了”、“味道鲜美”。理解评价场景将评价归类到“口味”、“配送”、“包装”、“服务”等不同维度。这不再是简单的“好评/差评”二分法而是深入到评价的骨髓进行精细化、结构化的分析。下面我们就手把手带你实现这个“外卖评价智能分析官”。1. 项目速览GTE模型与我们的多任务应用在开始动手之前我们先快速了解一下核心武器。GTEGeneral Text Embedding模型是什么你可以把它理解为一个“文本理解专家”。它经过海量中文文本的训练能够将一段话转换成一个高维度的数学向量即“向量化”。这个向量就像这段话的“数字指纹”包含了其语义信息。相似含义的文本其向量在数学空间里的距离也会很近。我们使用的具体模型是iic/nlp_gte_sentence-embedding_chinese-large它不仅在通用文本向量化上表现出色其衍生出的多任务版本更是一个“瑞士军刀”。基于它构建的Web应用原生支持六大任务命名实体识别 (NER)识别文本中的人名、地名、组织名、时间等。对我们来说“菜品名”就是一种需要自定义识别的实体。关系抽取找出实体之间的关系比如“宫保鸡丁菜品-属于-川菜菜系”。事件抽取识别事件以及参与事件的要素。情感分析分析文本中针对特定属性如“口味”、“辣度”的情感倾向。这是我们分析“口味情感”的核心。文本分类将文本归到预定义的类别中如将评价分为“口味投诉”、“配送表扬”等。这是我们进行“评价维度分类”的手段。问答 (QA)根据一段文本上下文回答问题。我们的目标就是利用这个强大的多任务底座聚焦于“外卖评价分析”这个垂直场景对其进行定制化应用。项目已经打包成一个开箱即用的Web应用结构清晰/root/build/ ├── app.py # Flask 主应用提供API接口 ├── start.sh # 一键启动脚本 ├── templates/ # 网页前端模板如果有的话 ├── iic/ # 存放GTE多任务模型文件 └── test_uninlu.py # 模型功能测试文件启动方式极其简单只需要一行命令bash /root/build/start.sh服务启动后会运行在http://0.0.0.0:5000。接下来我们就可以通过API调用来施展它的魔法了。2. 核心实战如何调用API进行三重分析我们的智能分析官主要通过一个统一的/predictAPI接口来工作。你需要以POST请求的方式告诉它做什么任务task_type以及分析什么文本input_text。2.1 第一重分析命名实体识别抓取菜品首先我们把评价中的菜品名称提取出来。这需要用到**命名实体识别NER**任务。但标准的NER模型识别的是“人名”、“地名”不认识“麻辣香锅”。怎么办我们需要利用模型的理解能力通过精心设计的提示Prompt来引导它。核心思路我们不直接使用原始的NER功能而是将其转化为一个抽取式问答任务。我们问模型“在下面的外卖评价中提到了哪些菜品或食品名称”我们发送这样的请求{ task_type: qa, // 使用问答接口因为它最灵活 input_text: 上下文今天的宫保鸡丁太辣了不过配的米饭很好吃。奶茶送得有点慢。|问题请列出评价中提到的所有菜品或食品名称。 }注意这里我们巧妙地将任务类型设为qa输入格式为上下文|问题。模型会基于对上下文的理解直接回答出“宫保鸡丁、米饭、奶茶”。实际代码调用示例Pythonimport requests import json url http://localhost:5000/predict headers {Content-Type: application/json} # 示例评价 review_text 今天的宫保鸡丁太辣了不过配的米饭很好吃。奶茶送得有点慢但包装很精致。 # 构建QA格式的输入 qa_input f上下文{review_text}|问题请列出评价中提到的所有菜品或食品名称。 data { task_type: qa, input_text: qa_input } response requests.post(url, headersheaders, datajson.dumps(data)) result response.json() print(识别出的菜品实体) print(result.get(result, 未识别到实体))预期输出可能类似于宫保鸡丁、米饭、奶茶。这样我们就成功抓取到了评价中的关键物品。2.2 第二重分析细粒度情感分析剖析口味抓到了菜品接下来就要分析用户对它的感受。这里我们使用**情感分析sentiment**任务。GTE模型的情感分析可以识别属性词和观点词。对于评价“宫保鸡丁太辣了”模型可以分析出属性词辣度(从“辣”衍生而来)观点词太辣并判断其为负面情感。我们发送请求{ task_type: sentiment, input_text: 宫保鸡丁太辣了 }实际代码调用示例# 接续上面的代码假设我们已经从评价中提取出了“宫保鸡丁” dish 宫保鸡丁 # 为了更精准我们可以截取围绕该菜品的描述片段。这里简化处理用整句。 sentiment_text 宫保鸡丁太辣了 data_sentiment { task_type: sentiment, input_text: sentiment_text } response_sentiment requests.post(url, headersheaders, datajson.dumps(data_sentiment)) sentiment_result response_sentiment.json() print(f\n对{dish}的情感分析结果) print(json.dumps(sentiment_result, indent2, ensure_asciiFalse))预期输出会是一个结构化的JSON包含识别出的属性-观点对及其情感极性。这样我们就知道用户对“宫保鸡丁”的“辣度”属性给出了“负面”评价。2.3 第三重分析文本分类归因评价维度最后我们需要知道这条评价主要在吐槽或表扬哪个方面是口味、配送、包装还是服务这用到**文本分类classification**任务。我们需要预先定义好类别。关键步骤文本分类通常需要模型预先学习过这些类别。我们的GTE多任务模型可能没有预置“外卖维度”分类。因此一个实用的方法是利用其强大的文本向量化能力和少量样本进行相似度匹配。定义维度标签及示例口味“味道太咸”、“很好吃”、“不新鲜”配送“送得太慢”、“骑手态度好”、“准时送达”包装“包装破损”、“保温很好”、“很精致”服务“客服不理人”、“退款很快”操作流程 a. 将待分析评价转化为向量。 b. 将每个维度下的示例文本也分别转化为向量并计算该类别的平均向量或使用代表性向量。 c. 计算评价向量与每个维度向量之间的余弦相似度。 d. 相似度最高的维度即为该评价最可能归属的维度。由于我们的Web应用主要暴露预测接口完整的向量化与相似度计算可能需要稍微扩展后端逻辑或者在前端处理。其核心思想是利用模型对文本的深度理解能力进行语义层面的匹配而不是简单关键词匹配。3. 场景深化构建完整的外卖评价分析流水线理解了三个核心任务后我们可以将它们串联起来形成一个自动化分析流水线。假设我们收到一批新的外卖评价reviews [ “水煮鱼片量很足麻辣鲜香非常下饭就是配送员找不到路耽误了半小时。”, “披萨凉了芝士都凝固了体验很差。不过客服道歉后补了张优惠券。”, “包装封得严严实实一点没洒。咖喱牛肉饭的味道中规中矩。” ] analysis_results [] for review in reviews: result {原始评价: review, “菜品”: [], “情感”: [], “主要维度”: None} # 步骤1: 实体识别 (菜品) qa_input f上下文{review}|问题请列出评价中提到的所有菜品或食品名称。 # ... 调用QA API解析结果填入result[“菜品”] # 步骤2: 对于识别出的每个菜品尝试进行情感分析 # 这里需要简单的文本匹配或分句找到描述该菜品的子句。 # 例如对于“水煮鱼片”找到“水煮鱼片量很足麻辣鲜香非常下饭” # ... 调用Sentiment API解析结果填入result[“情感”] # 步骤3: 评价维度分类 # 使用文本分类API如果模型支持自定义类别或采用上述向量相似度方法。 # ... 确定维度填入result[“主要维度”] analysis_results.append(result) # 输出分析报告 for res in analysis_results: print(f评价: {res[原始评价]}) print(f 涉及菜品: {, .join(res[菜品])}) print(f 情感分析: {res[情感]}) print(f 主要维度: {res[主要维度]}\n)通过这个流水线杂乱无章的评价就变成了结构化的数据表商家可以轻松地发现爆款与雷区统计哪些菜品被提及最多正面/负面情感比例如何。定位运营问题如果“配送”维度的负面评价激增就需要检查物流系统。优化菜单针对“口味”负面评价集中的菜品考虑调整配方。4. 总结通过本次实践我们看到了如何将一个通用的、强大的中文向量模型GTE通过任务编排和提示设计落地到一个非常具体的业务场景——外卖评价分析中。我们实现了实体级洞察从文本中精准抽取出“菜品”这一业务关键实体。情感级解读不仅判断整体好评差评更深入到针对具体属性如辣度、鲜度的细粒度情感分析。维度级归因将评价归因到不同的责任维度口味、配送、包装等让问题定位更清晰。这套方法的核心优势在于灵活性和深度。它不依赖于固定的关键词词典能够理解复杂的表达和网络新词它提供的结构化数据远比简单的评分更有价值。你可以基于这个Demo进一步扩展关系抽取分析“菜品-差评原因”的关系如“奶茶-因为送得慢-被差评”。批量处理与可视化对接真实的外卖平台评价接口进行批量分析并生成数据看板。模型微调如果拥有大量标注数据可以在GTE模型的基础上针对“外卖菜品NER”或“外卖维度分类”进行微调获得更极致的准确率。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价