news 2026/10/7 2:55:20

SnowNLP情感分析实战:批量处理微博评论与自定义模型优化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SnowNLP情感分析实战:批量处理微博评论与自定义模型优化

简介:基于SnowNLP库的新浪微博评论情感分析工具,面向需要掌握中文文本情感分析的Python开发者、NLP学习者以及课程设计项目人群。工具覆盖新浪微博评论获取、文本预处理、分词、情感得分计算与可视化展示的完整流程,能够判断评论的正负面与中性倾向,代码结构清晰,配套说明文档和效果图,便于直接运行与二次扩展。资源压缩包共7个文件,包括4个Python脚本(分别负责数据抓取、清洗、分析及统计展示)、2个txt说明文档(介绍SnowNLP调用方式与项目实现思路)及1张示例图片,整体仅86KB,轻便易部署。已有2384人浏览学习,适合作为课程设计参考或情感分析实战入门案例。通过研读源码和文档,读者可快速掌握SnowNLP情感模型的使用方法、中文评论预处理常见手段,以及如何将分析结果转化为可视化的情感分布图表,并在此基础上灵活调整数据源或扩充功能,构建属于自己的微博评论情感分析工具。

1. SnowNLP 新浪微博评论情感分析工具:先把链路跑通,再回来谈准确率

拿到「基于 SnowNLP 的新浪微博评论情感分析工具」这套源码,我建议你先别急着换算法、调阈值,而是先跑通“读评论→批量打分→出分布图”这条最小链路。它解决的问题很具体:把微博评论区这种短文本、强口语、带反讽语料的评论批量转成情感分,输出是一张能直接打开的 Excel 和几张图表。适合手里攒着几千条真实评论、想快速判断舆情走向的运营、产品和数据分析岗。我最看重的是整条流程已经串好,而不是模型多高级;真正决定这份资源好不好用,在于你有没有把阈值和训练语料重新校准到自己的数据上。默认模型效果也就是“能看清方向”,所以下面把统计原理、重训流程和踩过的坑一次说透。

2. 情感分析原理与运行环境:朴素贝叶斯打分机制、依赖清单与安装验证

2.1 SnowNLP 的 0 到 1 打分:这个词袋模型到底在算什么

SnowNLP 的情感分析模块是一个二分类朴素贝叶斯模型,既不是神经网络,也不是简单的词典规则。输入一段评论文本后,它会先按句子边界切分,再做分词,把评论变成一袋子词;接着统计每个词在“正面语料”和“负面语料”里的条件概率,最后用贝叶斯定理计算整句话属于正面的后验概率,输出落在 0 到 1 之间。越靠近 1 越正面,越靠近 0 越负面,中间值表示模型拿不准。

这里有一个非常容易被忽略的点:SnowNLP 自带的默认模型是在电商商品评论语料上训练的。这意味着“质量”“好评”“物流”这些词的权重被拉得很高,而微博语境里的“下头”“yyds”“翻车”要么不在词典里,要么权重极低。直接拿默认模型跑微博评论,会出现“这手机用一周就黑屏,客服还已读不回”这种明显负面的句子被判到 0.6 以上,因为句子里没有足够强的负向词。看到sentiments返回 0.5 附近时,那不是 bug,是语料分布不匹配。这套工具在示例代码里把三分类阈值约定在 0.4/0.6,而不是简单的 0.5 一刀切,本质上就是在给默认语料偏置打补丁。

另外,分词结果的质量直接决定打分效果。朴素贝叶斯会对词频做拉普拉斯平滑避免零概率,这也是短评论的输出分数极少出现 0 或 1 的原因。这个平滑参数不用你手动调,但要知道输出分数天然是“缩向中性”的,所以打分后的排序比绝对分值更有参考价值。比如同一条微博的正面评论里,0.3 和 0.35 两条评论虽然都被分到负面,但 0.3 那条的语气要激烈得多。

2.2 为什么选 SnowNLP,而不是 BERT 或大模型接口

这个对比要放在具体场景里看。微博评论平均长度很短,多数在 5 到 40 个字之间,而且表达随意、错别字多、表情符号密集。BERT 类模型微调后单条准确率确实更高,但代价很直接:要准备几千条人工标注数据,要装 torch 或 tensorflow,推理时还要考虑 GPU,在离线批量任务里属于杀鸡用牛刀。更关键的是,BERT 模型是个黑匣子,业务侧追问“为什么这条被判负面”时,你很难给出解释。

SnowNLP 的取舍在这种场景下很聪明。它是纯 Python 库,CPU 机器上批量跑几千条评论很快;训练只需要两个文本文件,全流程可重跑;每个词对最终得分的贡献能通过语料权重解释。模型保存成单个 marshal 文件,可以跟项目一起做版本管理,部署成本几乎为零。如果未来业务确实需要更高准确率,可以把 SnowNLP 的输出当作特征再接一层逻辑回归,这也是这套工具往后扩展最自然的方向,不用推翻重来。

对比维度SnowNLPBERT 微调
训练成本只需 pos/neg 两个文本文件需要标注数据集与 GPU
推理速度CPU 秒级处理数百条依赖 GPU,单条高频不适合
可解释性词条件概率可查黑匣子,解释需要额外工具
部署体积单个 marshal 文件模型权重以 GB 计

2.3 环境搭建:虚拟环境、依赖安装与一次快速验证

拿到 zip 解压后的第一件事,我建议先建一个独立虚拟环境,避免全局 Python 环境里的包互相干扰。项目运行只需要 snownlp、pandas、matplotlib,如果示例脚本里出现 jieba,那是用于自定义新词补充的,也要一起装。下面命令在 Windows 和 macOS/Linux 下通用:

# 创建并激活虚拟环境,Python 3.8~3.10 优先 python -m venv weibo_sentiment # Windows 下激活 weibo_sentiment\Scripts\activate # macOS / Linux 下激活 # source weibo_sentiment/bin/activate # 安装核心依赖 pip install snownlp pandas matplotlib jieba numpy

每个依赖的职责要清楚:snownlp 负责分词和情感打分,pandas 负责读评论文件和批量计算,matplotlib 负责画分布图和趋势图,jieba 是可选增强,在给网络新词补词典时会用到。安装完成后跑一段短文本做冒烟测试:

from snownlp import SnowNLP text = "这家店的售后服务真是没话说,太贴心了" score = SnowNLP(text).sentiments print(f"{score:.4f}")

逻辑说明:SnowNLP 类初始化时会加载模型文件,sentiments属性返回情感得分,不需要再调用其他预测方法;注意每个文本都要新建一个实例,不存在复用同一实例传不同文本的用法。参数说明:如果打印结果明显大于 0.5,说明环境正常;如果结果徘徊在 0.5 附近,优先怀疑安装到了过旧版本的 snownlp,用 pip show snownlp 看一下版本,必要时卸载重装。

3. 核心流程实战:从 CSV 评论数据到批量情感打分

3.1 输入数据长什么样:text 列与 time 列的规范

工具默认读的是一张“评论明细表”,数据可以来自微博开放平台接口,也可以是运营后台导出的 Excel。最低限度要有一列评论内容 text;要做时间趋势,就再带一列发布时间 time,统一转成 yyyy-mm-dd HH:MM:SS 的字符串。我习惯先把原始文件交给 pandas 做一次清洗再进入打分循环,而不是直接把 DataFrame 塞进模型。字段规范用一个表说清楚:

字段类型是否必填用途
textstr必填评论正文,可以保留表情符号
timestr / datetime按需做舆情曲线时的聚合键
nicknamestr可选后续用户维度分析时使用

读取和清洗的代码:

import pandas as pd # Windows 下 Excel 导出的 CSV 常见编码是 gbk,先试 utf-8-sig df = pd.read_csv("weibo_comments.csv", encoding="utf-8-sig") # 如果报 UnicodeDecodeError,改成 encoding="gbk" 重新读 # 删掉评论为空的行,否则后面逐条打分时会直接异常中断 df = df.dropna(subset=["text"]) df["text"] = df["text"].astype(str) print(df.shape) print(df.head(3))

逻辑说明:先 dropna 再做 astype,顺序不能反过来,因为 astype(str) 会把 NaN 变成字符串 "nan",等于把脏数据带进了打分流程。参数说明:encoding 是读 CSV 最常翻车的点,utf-8-sig 能处理带 BOM 的 UTF-8 文件,gbk 对应老式 Excel 导出,两个都不行就逐个换,没有捷径。

3.2 批量打分:逐条实例化的正确姿势与异常兜底

批量打分我习惯用apply,结构最清晰。但要说明白:SnowNLP 不对 Series 做向量化计算,apply 内部仍然是逐行调用 Python 函数,所以别指望它像 NumPy 那样一次性算完。这是库的实现方式决定的,几千条数据量下性能差异完全可以忽略。

from snownlp import SnowNLP def sentiment_score(text): """单条评论打分,异常统一按中性处理,保证整批不中断""" if not text or not text.strip(): return 0.5 try: return SnowNLP(text).sentiments except Exception: return 0.5 df["score"] = df["text"].apply(sentiment_score)

逻辑说明:异常捕获不是可有可无。微博评论区经常混入高亮表情、@用户、URL 片段,其中某些符号组合会让内置分词器解不出结果,不包 try 的话整批任务就会断在中间。参数说明:返回 0.5 是“拿不准就归中性”的兜底策略;如果你希望异常样本能被人工复查,可以改成返回 -1,最后单独筛出来看。

打分完成后做三分类。工具默认的阈值不是 0.5 而是 0.4/0.6,这是作者针对朴素贝叶斯输出向中间收缩这一特性做的修正:

def classify(score): if score >= 0.6: return "正面" if score <= 0.4: return "负面" return "中性" df["label"] = df["score"].apply(classify)

参数说明:0.6 和 0.4 构成一段 0.2 宽的中性带,把拿不准的分数先归到中性,显著减少误报。这个窗口不一定是全局最优,后面第 4 章会讲怎么按自己的数据重新校准。

3.3 结果落盘与最简单的可视化

打分完的下一步是导出和画图,否则几千条分数就只存在于内存里,跑完就丢。

# 统计三个类别的数量分布 distribution = df["label"].value_counts() # 按天聚合情感均值,为后面的舆情曲线做准备 df["date"] = pd.to_datetime(df["time"], errors="coerce").dt.date daily_mean = df.groupby("date")["score"].mean() # 导出带打分结果的 Excel df.to_excel("sentiment_result.xlsx", index=False)

逻辑说明:errors="coerce"会把解析失败的时间变成 NaT,之后 groupby 会自动忽略它,不会抛异常,这一点对脏数据非常友好。参数说明:to_excel 需要 openpyxl 或 xlsxwriter 引擎,没装的话 pip install openpyxl 即可;Excel 打不开时优先检查这个。

画分布图的代码:

import matplotlib.pyplot as plt plt.rcParams["font.sans-serif"] = ["SimHei"] plt.rcParams["axes.unicode_minus"] = False distribution.sort_index().plot(kind="bar", figsize=(8, 4)) plt.title("评论情感分布") plt.tight_layout() plt.savefig("distribution.png", dpi=150)

逻辑说明:中文字体设置必须放在画图前,否则标题和刻度全是方块。参数说明:SimHei 只对 Windows 有效,macOS 改为 PingFang SC,Linux 服务器需要指定一个已安装的中文字体路径,这是中文可视化跨平台都要处理的一步。

4. 训练自定义模型:让默认语料偏置的新浪微博评论准确率回升

4.1 默认模型的翻车现场与训练的本质

把一批真实微博评论直接交给默认模型,会看到一个很典型的现象:大量“一星好评”“客服态度垃圾到爆”被归成正面。原因不在算法,在语料。默认训练语料是电商场景的“好评、质量、快递”,这些词在新浪微博语境里出现频率很低,而微博用户爱用的“下头、无语、绝绝子”在语料里根本没有权重。所以训练自定义模型本质上就是重新调整每个词在正负两个类别下的条件概率,让高频网络词和真实表达习惯进入模型的判断依据。

实操建议:先收集你自己业务领域里的真实评论,正负各几百到一两千条,存成两个纯文本文件。数量上正负尽量等比例,否则模型会倾向输出多数类。来源可以是自己运营的账号评论区,也可以是公开可用的数据,注意别违反平台规则,更不要碰隐私信息。

4.2 语料准备:清洗规则与两个文件的格式

语料文件格式很简单:每行一条完整评论,UTF-8 编码,不要带 BOM,不要带 CSV 引号,文本里保留原始表情符号。我一般会先做一轮自动清洗,去掉 URL 和 @用户,把连续重复的标点压缩,让词分布更干净:

import re def clean_corpus(text): text = re.sub(r"https?://\S+", "", text) # 去掉链接 text = re.sub(r"@\w+", "", text) # 去掉 @用户 text = re.sub(r"([。!?!?])\1+", r"\1", text) # 压缩重复标点 return text.strip() with open("pos.txt", "w", encoding="utf-8") as f: for line in df_positive["text"]: f.write(clean_corpus(line) + "\n")

逻辑说明:训练语料和预测时使用同一套清洗函数,才能保证词分布对齐;如果训练前清掉了 URL 而预测时没清,模型会看到一批训练时没见过的东西。参数说明:去掉 @用户是因为微博昵称千奇百怪,留着只会增加噪声;表情符号建议保留,它们在表达情绪上有时比文字更关键。

重训命令用 snownlp 自带接口即可:

from snownlp import sentiment # 第一个参数是负面语料,第二个是正面语料,顺序别填反 sentiment.train("neg.txt", "pos.txt") # 保存模型,之后 SnowNLP 会自动加载当前目录下的 sentiment.marshal sentiment.save("sentiment.marshal")

逻辑说明:train 会重建整个朴素贝叶斯分类器,完成后必须 save,否则进程退出后新模型就没了。参数说明:训练时间由语料条数和句子长度决定,几千条文本在普通 CPU 上通常几秒到十几秒,跑完只更新当前工作目录的模型文件。

训练完用一组明显正负对立的句子验证:

from snownlp import SnowNLP samples = [ "这个手机真的太难用了,开机就卡成 PPT", "评论区氛围太好了,大家都好有礼貌", ] for s in samples: print(s, round(SnowNLP(s).sentiments, 4))

参数说明:预期两条结果一个明显低于 0.4、一个明显高于 0.6。如果两条都还在 0.5 附近,检查语料文件编码和正负顺序,大概率是文件带 BOM 或者顺序填反。

4.3 阈值校准:用人工标注样本网格搜索中性带

模型换掉以后,0.4/0.6 这个默认窗口就不一定最优。我的习惯是抽 300 条真实评论人工打标签,然后做一次网格搜索,看哪个中性带宽度准确率最高。下面是一个简化实现:

def tune_threshold(scores, labels, gaps=(0.05, 0.1, 0.15, 0.2, 0.25)): best = (0.5, 0.5, 0) for gap in gaps: low, high = 0.5 - gap, 0.5 + gap preds = ["中性" if low <= s <= high else ("正面" if s > high else "负面") for s in scores] acc = sum(p == l for p, l in zip(preds, labels)) / len(labels) if acc > best[2]: best = (low, high, acc) return best # scores 是 df["score"],labels 是人工标注的 正面/负面/中性 print(tune_threshold(scores, labels))

逻辑说明:这个搜索只调中性带宽度,中心固定在 0.5,是一个够用的基线。实际业务里更常见的做法是不对称窗口,比如负面舆情敏感的行业会把下界提到 0.55,因为少报一条差评的代价比多报一条正面大。参数说明:gaps 的粒度决定调参精度,数据量小的时候别用小于 0.05 的步长,否则会在噪声上过拟合。

5. 避坑与常见问题排查:五个能浪费你一下午的经典场景

5.1 打分全在 0.5 附近,像没跑过一样

现象:批量跑完几百条评论,score 几乎没有超过 0.55 或低于 0.45。 原因:多半是 pandas 把 text 列读成了 float 类型,列里有 NaN 时尤其常见;另一种可能是编码不对导致文本乱码,分词全碎成单字,统计上等于随机猜。 解决:先打印df["text"].dtype检查类型,再执行df["text"] = df["text"].astype(str);然后打印 head(3) 确认没有乱码。乱码就逐个尝试 encoding="utf-8-sig" 和 "gbk"。这个坑看着小,排查起来容易耗掉一下午,因为它不报错。

5.2 训练完 save,重启脚本又回到默认模型

现象:训练完跑用例一切正常,第二天重新打开脚本,结果又回到了训练前的不合理状态。 原因:sentiment.save 把模型写到了“当前工作目录”,和脚本所在目录不一定是同一个。换个目录启动 Python 后,SnowNLP 找不到 sentiment.marshal,会静默回退到库自带的默认模型,整个过程完全不报错。 解决:把模型文件固定到项目根目录,并在启动脚本里固定工作目录:

import os os.chdir(os.path.dirname(os.path.abspath(__file__)))

参数说明:这样无论从哪个路径执行脚本,模型都会在同一位置被找到。再加一行日志打印 os.getcwd(),调试时能很快确认模型加载路径对不对。

5.3 yyds、绝绝子这些新词被切碎,完全没参与计算

现象:含网络新词的评论打分普遍偏低或忽高忽低,不稳定。 原因:SnowNLP 分词器使用内置词典,新词没有收录就会被切碎,比如“yyds”被拆成单字母,朴素贝叶斯拿不到整词级特征,等于这条评论中最有信息量的部分被丢掉了。 解决:两种手段配合使用。一种是在分词前用 jieba 给自定义词典加词,另一种是在训练语料里保留这些新词原文,让训练过程学会它的统计权重。我的经验是后者更稳,因为推理时不需要再维护外部词典,但如果你用默认模型又不想重训,那就用 jieba 加词:

import jieba jieba.add_word("yyds") jieba.add_word("绝绝子")

5.4 反讽句被高置信度判成正面

现象:“这波操作我直接给满分,下次一定还来”被判出 0.9 的正面分。 原因:朴素贝叶斯只看词袋概率,“满分”的正面权重高,但模型读不出“下次一定”里的反讽语气。微博评论里这类表达很常见,靠模型本身基本无解。 解决:模型层面放弃,规则层面兜底。维护一组反讽触发词对,命中后强制压低分数:

sarcasm_pairs = [("满分", "下次"), ("好用", "退了"), ("售后好", "已读不回")] def rule_correction(text, score): for pos, neg in sarcasm_pairs: if pos in text and neg in text: return min(score, 0.4) return score

参数说明:这组规则不用覆盖所有情况,它的价值是让明显误报的极端值回归中性带。规则命中率低没关系,因为它是兜底,真正的主体判断仍然交给模型。

5.5 中文可视化方块与 Excel 导出报错

现象:分布图画出来全是方块,Excel 导出直接 ModuleNotFoundError。 原因:matplotlib 默认字体不含中文字形;to_excel 默认没有内置引擎,需要 openpyxl 或 xlsxwriter。 解决:画图前固定两行设置:

plt.rcParams["font.sans-serif"] = ["Microsoft YaHei", "SimHei"] plt.rcParams["axes.unicode_minus"] = False

导出前确认pip install openpyxl。这两件事在中文数据项目里几乎必遇到一次,建议直接写进工具脚本里,而不是每次现查。

6. 进阶用法:把情感分数变成舆情曲线和每日报告

6.1 从静态分布到时间序列:按天聚合出舆情曲线

前面的结果文件只是静态分布,业务方真正要看的是趋势。把 time 列转成时间索引后,用 pandas 重采样按天聚合,既能看每天的平均分,又能看评论量,两者配合才知道“负面多”是情绪真的变差,还是单纯讨论量变大。

df["timestamp"] = pd.to_datetime(df["time"]) trend = df.set_index("timestamp").resample("D")["score"].agg(["mean", "count", "std"]) fig, ax1 = plt.subplots(figsize=(12, 5)) ax1.plot(trend.index, trend["mean"], color="#2e7d32", label="情感均线") ax1.axhline(0.5, linestyle="--", color="gray", linewidth=1) ax2 = ax1.twinx() ax2.bar(trend.index, trend["count"], alpha=0.2, color="#90a4ae", label="评论量") plt.legend(loc="upper left") plt.savefig("trend_daily.png", dpi=150)

逻辑说明:resample("D") 表示按自然日聚合,改成 "H" 就是按小时,适合活动或热点事件期间的细粒度监控。std 是当天情感分数的标准差,标准差大说明观点撕裂严重,只看均值会漏掉这一层信息。twinx 让均线(0~1)和评论量(几十到几千)画在同一个图里,两个坐标轴互不干扰。

6.2 输出当日典型评论文本与分标签明细 Excel

数字只能说明“变了”,要回答“为什么变”,还得抽查当日最极端的评论。pandas 里的 nsmallest/nlargest 可以直接取出极端样本,比先 sort 再 head 更可读。最后把负面明细、正面明细和当日典型评论写进同一个工作簿的不同 sheet,业务同事打开就能用。

last_date = df["date"].max() daily = df[df["date"] == last_date] top_neg = daily.nsmallest(5, "score")[["text", "score"]] top_pos = daily.nlargest(5, "score")[["text", "score"]] with pd.ExcelWriter("daily_report.xlsx", engine="openpyxl") as writer: df[df["label"] == "负面"].to_excel(writer, sheet_name="负面明细", index=False) df[df["label"] == "正面"].to_excel(writer, sheet_name="正面明细", index=False) top_neg.to_excel(writer, sheet_name="今日典型负面", index=False) top_pos.to_excel(writer, sheet_name="今日典型正面", index=False)

逻辑说明:这个输出文件的定位是给业务方直接看,所以 sheet 名要直白,不用英文缩写。参数说明:nsmallest 里的 5 是抽样条数,可以根据当日评论量放大;ExcelWriter 不指定 engine 时 pandas 会自动选,但显式写 openpyxl 能报更清楚的错误。

从那以后,我每次拿到一批新的微博评论数据,都会强制走一遍“清洗→打分→重训→阈值搜索→输出趋势图”这五步流程,前三步用这套工具串起来,后两步用上面两段代码补齐。阈值搜索哪怕只做一次,结果无论落回 0.4/0.6 还是改成不对称的 0.35/0.6,你都会比直接用默认配置更清楚模型的真实分辨力在哪。希望帮到你,如果你后面要把它接到自动化报表里,也建议先把今天这份 daily_report 的格式跑通再谈调度。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/7 2:54:25

Unity触摸屏物体识别桌开发:从坐标映射到C#架构

简介&#xff1a;这份资源是一套基于 Unity 引擎与 C# 语言、结合 Lean Touch 插件实现触摸屏物体识别桌的完整项目源码与工程文件&#xff0c;面向需要开发互动式桌面、AR/VR 触控交互的 Unity 开发者。资源以 zip 压缩包形式提供&#xff0c;共 3640 个文件&#xff0c;包含 …

作者头像 李华
网站建设 2026/10/7 2:54:16

Python二手交易网站实战:Django完整MVP搭建指南

简介&#xff1a;这是一套基于Django框架开发的B/S架构二手交易市场网站完整源码&#xff0c;面向Python Web初学者与Django项目实践者&#xff0c;适用于课程设计、毕业设计及中小型电商系统学习场景。资源包含565个文件&#xff0c;主体为86个核心Python业务逻辑文件、26个HT…

作者头像 李华
网站建设 2026/10/7 2:53:51

Spring Boot 与微信小程序搭建药店管理系统:从建表到避坑全流程

简介&#xff1a;这套基于Spring Boot、SSM与uniapp开发的药店管理系统源码&#xff0c;面向Java开发者、小程序学习者以及需要完成课程设计或毕业设计的学生。系统覆盖用户注册登录、退出、密码重置、药品分类与信息管理、收货地址、购物车、留言板、文件上传下载等业务模块&a…

作者头像 李华
网站建设 2026/10/7 2:53:49

SpringBoot+Vue扶贫网站毕设源码,前后端分离项目跑通指南

简介&#xff1a;这是一个面向高校毕业设计、课程设计与期末大作业场景的扶贫网站完整项目资源&#xff0c;基于SpringBoot与Vue实现前后端分离&#xff0c;适合具备一定Java基础、需要完成完整Web系统开发的读者直接参考或二次开发。压缩包共包含2020个文件&#xff0c;整体约…

作者头像 李华
网站建设 2026/10/7 2:53:23

const vs #define:C语言常量定义的差异

const vs #define&#xff1a;C语言常量定义的差异本文面向 VS2013 C89 环境&#xff0c;零基础讲解 const 和 #define 的区别。目录一、什么是常量&#xff1f;在C语言中&#xff0c;常量是指程序运行过程中值不能改变的量。无论是程序设计初期还是执行过程中&#xff0c;常量…

作者头像 李华
网站建设 2026/10/7 2:53:21

中文法律大模型训练实战:从继续预训练到检索增强

简介&#xff1a;LexiLaw中文法律大模型微调资源包&#xff0c;基于ChatGLM-6B架构在法律数据集上微调而成&#xff0c;面向法律从业者、法学生及普通用户&#xff0c;提供法律咨询、条款解读、案例解析与法规解读等智能问答支持。资源共60个文件、压缩包1.48MB&#xff0c;以P…

作者头像 李华