☰
电商评论情感分析毕设全流程:数据清洗、模型对比与可视化展示
2026/10/19 9:55:27 网站建设 项目流程

1. 毕设选这个题之前,我先想清楚的三件事

大数据分析这个方向里,电商产品评论数据情感分析是我见过最适合做毕设的题目之一。原因很简单:数据好找、任务清楚、技术栈完整,从爬虫采集、文本清洗、中文分词、情感分类到可视化展示,几乎把大数据处理和自然语言处理的核心环节都串起来了,非常容易在答辩时讲成一条完整的故事线。我自己的毕设做的就是这件事,一路踩了不少坑,这篇文章就把完整流程、技术选型思路以及真正帮我拿到好结果的细节都摊开来说。

1.1 为什么这个题目“性价比”很高

先聊选题逻辑。很多同学毕设选题时容易走两个极端:一个是选纯理论课题,写起来全是公式,但代码量少,被质疑“工作量不足”;另一个是选过于工程化的题目,比如“做一个电商网站后台系统”,技术含量不高,又难讲出数据分析的味道。情感分析刚好卡在中间,既有算法深度,又有大数据处理环节,做出来的结果还能被非技术的人直接理解。

从数据角度看,电商平台的每条评论本身就是带标签的天然语料。这里说的标签不是人工标注出来的,而是用户评分,4星5星基本对应正向情感,1星2星对应负向情感,3星则属于中性或摇摆状态。这让数据获取门槛低了很多,不需要像医疗、法律这类专业领域一样请专家标注,学生完全可以独立完成。

从技术角度看,情感分析可以做得浅也可以做得深。浅一点,用情感词典法加规则,就能跑出一个可以用的分类器;深一点,用预训练模型微调,精度还能继续往上提。这种“可伸缩”的特性对毕设非常友好,能力强的人可以展示模型调优,基础一般的同学也能顺利完成基线版本,不至于做到一半做不下去。

1.2 把模糊的课题拆成六个可执行模块

我身边有不少人被“做大数据分析”这种话搞懵,原因不是题目难,而是没有把它拆成可以验收的小任务。我当时接到这个题目后,花了一个下午把整件事拆成了六个模块,后面所有进度安排都照着这个清单走。

  • 数据模块:确定评论数据来源,采集或下载足够数量的商品评论,至少覆盖几个商品类目。
  • 预处理模块:去掉重复评论、清洗HTML标签和无效字符、繁体转简体、分词、去除停用词。
  • 特征模块:在分类之前,先把文本转成可以计算的表示,比如TF-IDF向量、词向量或BERT的向量特征。
  • 模型模块:实现至少两种情感分析方法,比如情感词典路径和深度学习路径,形成对比。
  • 评估模块:划分训练集和测试集,计算准确率、F1值、混淆矩阵,并抽取典型误判案例。
  • 可视化与展示模块:把情感分布、时间趋势、商品类目差异用图表展示出来,最好再做一个交互式Demo。

这六个模块并不是分开做的,实际项目中会反复交叉。比如清洗完数据发现分布不对,还得回头补充采集;跑完基线模型发现标签映射有问题,也得回到数据模块修改。但不管怎么反复,模块清单能防止你“东一榔头西一棒子”,让每个阶段都有明确产出。

1.3 时间轴怎么排:从开题到答辩至少留出六周

毕设最常见的问题是前松后紧,前两个月没什么动静,最后两周开始熬夜补代码和论文。为了避免这种情况,我给自己定了一个六周计划,虽然中间也会有偏差,但大体节奏是对的。

周次主要任务交付物
第1周确定数据源,采集/下载数据,完成字段梳理原始数据文件、字段说明
第2周数据清洗、分词、标签映射,做一次分布统计可用的干净数据集
第3周实现情感词典基线和TF-IDF+机器学习基线基线分类结果
第4周实现BERT微调或LSTM模型,进行参数调整最优模型与评估报告
第5周可视化图表、交互式Demo、错误案例分析演示系统与图表
第6周整理论文、代码注释、答辩PPT终稿

如果你只有一个月,我建议压缩第3周和第5周,把机器学习基线简化成一个,Demo也不用做太复杂,用几个静态图表就足够撑起工作量。但千万不要跳过硬性评估这一步,因为答辩评委几乎一定会问“你的模型效果到底怎么样”,没有数据支撑或者连混淆矩阵都没有,很容易被认为实验不严谨。

2. 数据获取与清洗:比模型更影响成败的一步

很多第一次做文本分析的人会下意识把重点放在模型上,实际上真正让项目废在中途的,往往是数据问题。我做完这个课题后最大的体会是:一个干净的、分布合理的数据集,比一个花哨的模型重要得多。这一章就把数据来源、清洗步骤、分词细节完整讲一遍。

2.1 四类数据来源与合规选择

电商评论数据的获取主要有四种途径,我在调研时都考虑过,也给出一套适合毕设的判断标准。

第一类是公开数据集。不少高校和开放社区整理过中文商品评论数据集,里面通常有评论内容、评分、商品类目等字段,拿来做毕设完全够用。这类数据最大的好处是省时间、格式规范,适合时间紧张的同学。需要注意的是,如果数据集里已经不包含原始评论文本而是做了脱敏,要提前确认字段是否满足情感分析需求,有的精简版数据集只保留“好评/差评”标签和简短文字,虽然建模够了,但做时间趋势分析就可能缺时间字段。

第二类是自采数据。用爬虫抓取某个主流电商平台的公开评论页。这里要特别强调合规问题,采集范围要控制在公开信息范围内,控制请求频率,不要绕过访问限制,也不要采集个人信息。毕设项目属于学习研究性质,但边界问题还是要重视,答辩时被问到数据来源也能解释清楚。

第三类是平台导出数据。如果身边有做电商运营的朋友,或者自己有开网店的经验,可以直接从商家后台导出一部分评论数据。这种数据最真实,而且可以拿到评论时间、购买型号、用户星级等细节,非常适合做多维度分析。

第四类是模拟数据。如果实在找不到合适数据,可以按真实评论的语言习惯构造一部分样本,比如参考公开评论改写,凑够几千条先跑通流程。这种做法适合只是为了验证技术路线的情况,但论文里必须如实说明是模拟数据,真实性和说服力会打折扣。

我的建议是优先找公开数据集,不行再考虑自采。找不到完美数据集不可怕,能做分析就行,但一定要在论文里写清楚数据来源、数量、时间范围和局限性。

2.2 预处理流程:去重、去噪、繁体转简体

拿到原始数据后,先别急着分词,按顺序做四步清洗。

第一步是去重。电商评论里同一个用户可能连续评论多条内容一模一样的文案,尤其是平台返现诱导的“好评模板”,这些重复文本会严重干扰模型训练,所以需要根据评论文本进行精确去重。我当时用pandas的drop_duplicates基于评论列去重,结果数据集从两万多条降到一万八千条,可见重复率有多高。

第二步是去噪。评论文本里常见的问题是包含HTML标签、URL链接、表情符号、特殊字符,甚至还有广告内容。我习惯写一个正则清理函数,规则依次执行:去掉标签、去掉链接、去掉非中英文和数字的符号,最后压缩连续空格。

import re def clean_text(text): if not isinstance(text, str): return "" text = re.sub(r'<.*?>', '', text) # 去HTML标签 text = re.sub(r'https?://\S+', '', text) # 去URL text = re.sub(r'#.*?#', '', text) # 去话题标签 text = re.sub(r'[^\u4e00-\u9fa5A-Za-z0-9]', '', text) # 去特殊符号 return text.strip()

注意不要把所有标点都删掉。如果后续要做情感强度分析,感叹号和问号本身包含情感倾向,“太差了!!”和“太差了”传递的情感强度完全不同。所以我后来又调整了规则,保留中文感叹号和问号,这个细节在后面的错误案例分析中帮了大忙。

第三步是繁体转简体。中文评论里偶尔会出现繁体字,如果直接分词,同一个词会被切成不同形式。用OpenCC库或者zhconv库可以批量转换,转换后还要再次确认词频统计结果,“质量”和“品質”才不会变成两个词。

第四步是字段过滤。评论文本之外,还要确认是否存在缺失严重的字段。如果“评论时间”有大量空值,后面就没法做时间趋势分析,这一列就必须重新采集或果断放弃。我当时发现“购买型号”缺失率超过一半,直接放弃了型号维度,转而按商品类目分组分析,避免了半路返工。

2.3 中文分词与停用词:不要一刀切

中文分词是情感分析里最容易被低估的一步。英文天然按空格分词,中文没有边界,分词器的选择直接影响下游特征质量。我用的是jieba分词,配合自定义词典使用。比如评论里经常出现的“颜值”、“种草”、“拔草”这类网络新词,默认词典切得不准,手动加进自定义词典后,情感分析的结果立刻改善。

停用词表也不能乱用。常见的做法是去去掉“的”、“了”、“是”这类无意义词,但有两个地方要特别小心。

一是负向词不要删。像“不喜欢”、“不满意”里的“不”,删掉后整句话的情感方向就反了。标准停用词表里往往包含“不”这类副词,直接套用会让差评被误判成好评。我的处理办法是不把否定词放进停用词表,而是在分词后,专门统计“不+情感词”的组合模式,作为特征加入模型。

二是语气词不一定全删。口语化评论文本里,“哇”、“呀”、“哈”有时候能反映情绪,但作为高频噪音又会影响词频统计。我后来选择保留这些词,因为训练机器学习模型时用TF-IDF权重能自动降低它们的影响,反而比手动删除更安全。

import jieba jieba.load_userdict("custom_words.txt") def tokenize(text): return [w for w in jieba.lcut(text) if w.strip()]

分词之后再做一次长度统计。电商评论往往很短,平均长度在20到50个字之间,但也有少数长评论。如果某些长评论占了训练样本的很大比例,在做模型截断时要单独考虑,这点后面会详细说。

3. 情感分析技术选型:从词典基线到模型微调

情感分析在技术上的实现路径很多,但放在毕设里,我不建议一上来就抱一个大模型。更稳的做法是从轻量级方案做起,逐步加深,每一步都保留实验记录。这样做的好处是答辩时能讲清楚“为什么最终选择这个方案”,而不是单纯摆结果。

3.1 三条技术路线的优劣对比

我整理了三种主流技术路线,放在同一个表里对比,后面做选择时会清楚很多。

路线代表方法优点缺点
情感词典法基于情感词打分、SnowNLP实现简单,完全可解释依赖词典覆盖度,处理否定和转折差
传统机器学习TF-IDF + SVM/逻辑回归稳定性好,训练快,结果可解释需要人工做特征,无法捕捉深层语义
深度学习LSTM、TextCNN、BERT精度高,能捕捉上下文训练时间长,需要GPU,黑箱程度高

如果只做一条路线,传统机器学习就够了。但毕设要想有“分析”的味道,我建议至少跑通一条词典路线作为基线,再用机器学习或深度学习做对比。这样论文的对比实验表格会非常自然,也能体现工作量。

3.2 基于情感词典的基线模型:SnowNLP实战

SnowNLP是一个python库,内置了中文情感分析能力,把文本丢进去就能得到一个0到1之间的情感分数,非常适合快速验证数据质量。我在拿到干净数据后做的第一件事,就是用SnowNLP跑一版结果,看它和用户评分的吻合度。

from snownlp import SnowNLP text = "物流很快,但是质量一般" s = SnowNLP(text) print(s.sentiments) # 0.79,偏向正向

这段代码跑出来一个问题:SnowNLP认为“质量一般”也是正向,因为“一般”这个词在它的情感词典里权重不高,而且对“但是”的转折处理不够。这个问题恰恰给论文提供了切入点:词典法对转折句和否定句处理效果差,需要引入机器学习或深度学习模型来改进。我当时就是把这个例子作为后续工作的动机,整体思路非常顺。

如果想自定义情感词典,也可以用情感词表的打分方式:先统计评论中每个情感词的得分,求和后除以词数,作为整条评论的情感强度。这样虽然朴素,但你能控制哪些词算正向、哪些算负向,解释起来也更容易。适合当作“规则版”基线。

3.3 TF-IDF + 机器学习分类器:最容易出稳定结果

机器学习路线是我最终的主力基线。核心做法是把评论文本转成TF-IDF向量,再训练逻辑回归分类器。逻辑回归是文本分类里性价比最高的模型之一,训练快、参数少、不容易过拟合,而且可以通过特征系数反推哪些词对情感影响最大。

from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.linear_model import LogisticRegression from sklearn.pipeline import Pipeline vec = TfidfVectorizer(max_features=5000, ngram_range=(1,2)) clf = LogisticRegression(class_weight='balanced', max_iter=300) pipeline = Pipeline([('vec', vec), ('clf', clf)]) pipeline.fit(X_train, y_train)

这里有两个参数值得解释。ngram_range=(1,2)的意思是同时用单个词和相邻两个词的组合作为特征,因为“不好吃”这种组合词比单独拆成“不好”和“好吃”更准确。class_weight='balanced'是给样本量少的类别自动加权重,处理好评过多、差评过少的问题。逻辑回归在这个任务上通常能跑到0.82到0.88左右的F1值,已经是一个非常能打的基线。

3.4 BERT微调:让精度再上一个台阶

如果你有显卡或者能使用在线计算资源,BERT微调是冲刺精度的首选。它的原理说起来也不复杂:预训练模型已经读过海量中文文本,学会了词语之间的上下文关系,你要做的只是在它的基础上加一个分类头,用评论数据再训练几个epoch,让模型适应这个具体任务。

from transformers import AutoTokenizer, AutoModelForSequenceClassification model_name = "bert-base-chinese" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForSequenceClassification.from_pretrained( model_name, num_labels=2 )

调用模型前有两件事要处理。第一是用tokenizer把评论转为模型能理解的输入结构,它做的事情是分词、加特殊标记、统一长度;第二是把标签改成数值,比如正向映射为1,负向映射为0。训练时一般设置batch_size为16或32,学习率用2e-5或3e-5,跑3到5个epoch就能收敛。

实际使用BERT时最大的门槛不是代码,而是时间。在普通入门级显卡上训练一万条样本,一个epoch大概要十几分钟,三个epoch在可接受范围内。如果没有GPU也不要硬撑,可以先把数据集缩小到几千条做验证,或者使用更小的中文预训练模型,速度会快很多,效果也不一定会差太多。

3.5 评价指标与混淆矩阵怎么看

很多初学者只看准确率,这是文本分类里最容易造成误判的指标。如果数据集里90%是好评,模型把所有评论都预测成好评,准确率也有90%,但差评被完全忽略了,这样的模型没有实用价值。

我采用的评价指标是精确率、召回率和F1值,分别计算每个类别。精确率关心“你预测为差评的那些评论里,有多少真是差评”;召回率关心“真正的差评里,有多少被你找出来了”;F1是两者的调和平均。对于情感分析,我更看重差评的召回率,因为漏掉差评对业务的影响比误伤好评更严重。

混淆矩阵也需要打印出来,它是一张棋盘格一样的表格,能清楚看到模型把“好评”错分成“差评”以及“差评”错分成“好评”的具体数量。我后来在做错误分析时,就是盯着混淆矩阵的两个格子,把错误样本逐个抽出来看,才发现长文本截断和否定词反转这两个问题的。

4. 踩坑实录:标签、不平衡和长文本

这一章写的是我实际踩过的四个坑,每一个都让模型效果出现过明显波动。如果你能绕开其中任何一条,就能省下至少两三天的时间。

4.1 标签怎么定:评分映射不是简单一分为二

电商评论文本自带用户评分,但评分和真实情感并不完全对齐。我一开始把所有4星5星都当成正向,1星2星当成负向,3星直接删掉,结果发现很多4星评论写的是“还可以配送快但包装破了”,情感偏负却被标成正向,模型学出来一团乱麻。

后来我重新设计了映射规则,可以参考这个思路:5星是正向,1星和2星是负向,4星里如果文本包含明显的负面词则不参与训练,3星单独作为“中性”样本。如果毕设时间有限,不做三分类就只保留5星和1星到2星的数据,这样标签噪音最小。

不过光靠评分还不够,最好人工抽检每一类各100条评论,看标签和实际内容是否一致。我当时抽检后发现大约有8%的4星评论其实带负面倾向,这个比例对模型的影响非常大。人工抽检不用把所有数据都看一遍,只要按类目分层抽100到200条,就能发现系统性问题。

4.2 好评多差评少:类别不平衡的实战处理

电商评论的数据分布天然失衡,好评比例通常远高于差评,高的时候能到8比2。我最初没有做任何处理,直接用原始数据训练,结果模型把绝大多数评论都判成了好评。解决不平衡有两种可以并行使用的方法。

第一种是数据层面:对差评做欠采样,或者对好评做随机采样,让正负样本比例接近1比1。欠采样的缺点是浪费数据,好评数量很多,删掉部分也不会损失太多信息,所以适合这种场景。第二种是模型层面:逻辑回归里设置class_weight='balanced',深度学习里在损失函数中给少数类更高权重。两种方法可以同时使用,但要对比实验,不能想当然。

还有一个技巧是用“训练/测试集分层抽样”。如果直接随机切分,不平衡数据可能导致某个类别的测试样本特别少。使用sklearn的StratifiedKFold做分层交叉验证,能保证训练集和测试集中各类比例接近,模型评估更可信。

4.3 长文本截断:BERT的512上限与信息丢失

BERT模型的输入长度最多512个token,对电商评论来说99%的文本都够用,但剩下的1%长评往往信息密集,包含用户在意的多个方面。直接从头取前512个token的话,最关键的负面结论可能在文本末尾,模型看不到,就会误判。

我做了一个简单的长度分布统计后,决定把长评分成两段处理:前半段和后半段分别进入模型得到两个情感分数,再取平均作为整条评论的结果。这样做虽然增加了计算量,但对长评的召回率提升比较明显。

还有一个更简单的方法:在截断时同时保留开头和结尾,中间部分用滑动窗口提取关键片段。因为中文评论的表达习惯往往是先夸后骂,或者先说问题再说结论,开头和结尾信息密度最高。这个思路不需要改模型,只改数据处理方式,值得一试。

4.4 误报样本分析:模型自己露出的破绽

模型训练完后,我没有急着去调参,而是把所有预测错误的结果打印出来,按“真实差评被预测成好评”和“真实好评被预测成差评”各抽了50条。这一看才发现了很多有意思的细节。

比如“除了贵,什么都好”被预测成差评,因为“贵”是强烈的负面词,但整句话先抑后扬,实际是正向评价。又如“东西还行,但客服太差了”被预测成好评,模型看到了“东西还行”,忽略了“客服太差”的转折。这些例子说明简单模型更擅长识别局部情感词,而不是全局语义。答辩时能主动讲出这些错误案例,并解释为什么用深度学习能部分改善,反而比报一个99%的准确率更能体现思考深度。

后来我把错误样本分成三类:否定句、转折句、讽刺句。前两类通过增加n-gram特征和调整截断策略得到改善;讽刺句确实很难处理,我选择在论文里如实说明局限性,并把这个问题列为后续工作方向。

5. 从实验到展示:让图表和Demo替你说话

毕设不只是做模型,还要把结果讲给评委听。很多同学代码跑得很熟练,但是一到展示就堆了一堆图表,每个图都没解释清楚。这一章讲我做可视化时沉淀下来的思路和工具。

5.1 可视化不堆图:先想清楚要回答什么问题

做可视化之前,先问自己三个问题:我的结论是什么?哪些证据能证明它?评委关心的角度是什么?我最终留下的可视化图表只有四张,但每一张都有对应结论。

第一张是“不同商品类目下的情感分布堆叠图”,用来回答“哪个类目更容易引发负面评价”。第二张是“评论情感得分随时间变化的趋势图”,用来回答“近期用户的情绪是否变好”。第三张是“高频情感词词云图”,正向词一个颜色,负向词一个颜色,用来回答“大家普遍在夸什么、骂什么”。第四张是“模型分类结果的混淆矩阵热力图”,用来回答“模型在哪个类别上容易出错”。

这四张图分别覆盖了数据概览、时间维度、文本内容和模型性能,比一次性输出十几个plt.figure更有说服力。图表用pyecharts或matplotlib都可以,如果要做成网页版,我推荐pyecharts,它的交互效果比matplotlib好很多,而且生成的是html文件,方便集成到Demo里。

5.2 用Streamlit搭一个交互式情感分析Demo

答辩现场最能打动评委的,是一个可以直接输入评论并得到预测结果的系统。Streamlit是我用下来最顺手的工具,用它写一个情感分析页面只需要几十行代码,不需要前端基础。

import streamlit as st from transformers import pipeline st.title("电商评论情感分析") text = st.text_area("请输入一条商品评论") if st.button("开始分析"): clf = pipeline("sentiment-analysis", model="./model") result = clf(text) st.write("情感倾向:", result[0]["label"]) st.write("置信度:", round(result[0]["score"], 4))

这里有个小技巧:提前把训练好的BERT模型保存到本地文件夹,运行时直接加载,不用每次启动都重新下载。在答辩现场,如果当场运行模型,最好用CPU推理模式,速度会慢一些,但能够正常工作。提前自己录一段短视频作为备用,遇到网络或环境问题也不至于完全卡壳。

Demo不需要做得很复杂,能输入评论、显示预测结果、额外显示概率分布就够了。如果还有时间,把词云图也挂上去,输入一条评论后展示分词结果和高频词,会显得整个系统更完整。

5.3 项目仓库怎么组织:回滚、复现与答辩

导师或评审查看毕设代码时,第一件事就是看能不能复现你的实验。如果没有目录结构,也没有requirements依赖清单,就算代码本身写得再好,也很难被打高分。

我最后提交的项目结构大概是这样:

project/ ├── data/ │ ├── raw/ │ ├── processed/ │ └── sample/ ├── code/ │ ├── data_clean.py │ ├── baseline_snownlp.py │ ├── ml_model.py │ ├── bert_train.py │ └── demo.py ├── models/ │ ├── baseline.pkl │ └── bert_model/ ├── docs/ │ └── 实验记录.md ├── requirements.txt └── README.md

raw目录里保留原始数据,processed目录里放清洗后的数据,两个分开的好处是,清洗脚本出现问题后不需要重新下载原始数据。models目录里存放训练好的模型文件,包括机器学习模型和BERT模型。实验记录是我觉得最值得安利的东西,把每次改了哪个参数、准确率变化、出现什么问题都随手记下来,写论文时直接搬过来用,效率极高。

6. 做完这个项目的几点体会与后续扩展

这个项目完整做下来,最大的收获不是模型分数提高了多少,而是建立了一套处理文本数据的方法论。最后这一章分享几个我特别想说的点,以及如果时间充裕可以怎么继续扩展。

6.1 算力不足时怎么办

很多人听到深度学习就心虚,觉得没有显卡跑不动。实际上,电商评论这种短文本任务,完全可以用更轻量级的预训练模型替代大规模模型,参数量更小,推理速度更快,准确率也不会差太多。如果连本地环境都不想配置,直接用在线开发环境跑几个epoch也够用,但要注意数据集大小,建议控制在几千到一万条以内。

如果连在线环境也不方便,就老老实实把机器学习路线做扎实。用TF-IDF加逻辑回归,配上一整套特征分析和可视化,同样能形成一篇完整的毕设论文。答辩评委更看重的是你有没有理解问题、设计实验、分析结果,而不是你用了多贵的显卡。

6.2 论文创新点:从情感分类扩展到属性级分析和主题挖掘

情感分类本身已经很成熟,单纯堆精度很难做出创新点。我在后期把工作扩展成了“方面级情感分析”,也就是不光判断好评差评,还要判断用户具体在夸什么、骂什么。比如一条评论说“物流快,但包装太差”,整体可以算中性偏负,细看会发现“物流”维度是正向,“包装”维度是负向。使用LDA主题模型或基于规则的情感词定位,可以把评论切到不同维度上,结果罗列出来非常直观。

另一个扩展方向是情感时间演化分析。把评论按月份聚合,计算每个月的平均情感得分,再叠加重要时间节点比如活动促销周期,可以分析出大量有趣的现象。这部分不需要改模型,只需要在可视化上加一些时间分析的代码,就能形成论文里全新的一章。

6.3 我最后悔没早做的三件小事

第一是没从一开始就用版本控制管理代码。前期清洗脚本改来改去,每次改完都另存为final版、final_v2版,到后期已经分不清哪个是最新版本。后来才改用版本控制工具,虽然学起来花了半天,但后续实验管理顺畅太多。第二是没在第一天就把实验数据留档。一开始因为模型效果差,反复修改数据清洗规则,但没有记录每次清洗后数据集统计量,写论文时回顾不了数据变化过程。第三是该早点准备答辩用的演示Demo。之前一直觉得Demo要等模型调好才能做,后来才发现Demo和模型调优可以并行,早点做出一个粗糙版本,每次优化模型后都能快速更新效果,答辩时素材积累得也更多。

如果让我重新做一遍这个毕设,我会把更多时间放在错误案例分析上。模型的精度每次只提升一两个点,肉眼几乎看不出差别,但把错误案例从“看不出规律”到“能总结出四五个类别”,那种对整个问题的理解程度提升,比任何指标都实在。电商产品评论数据情感分析这个题目,看似只是“判断好评差评”,走完一圈后会发现自己已经摸了一遍从数据到模型的完整链路,这套思维以后换到任何文本类项目里都用得上。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询