当前位置:首页>python>Python用LoRA微调与ISMOTE过采样实现社交媒体文本15类情感多标签识别

Python用LoRA微调与ISMOTE过采样实现社交媒体文本15类情感多标签识别

  • 2026-07-01 04:40:55
Python用LoRA微调与ISMOTE过采样实现社交媒体文本15类情感多标签识别

全文链接:https://tecdat.cn/?p=46216原文出处: 拓端数据部落公众号

引言

本文围绕小语言模型在社交媒体文本多标签情感识别中的应用,系统阐述了从不平衡数据处理到模型微调的完整技术链路。

作者信息

YouMing Zhang

东北大学信息与计算科学专业学士,专注机器学习与深度学习算法领域。擅长Python、matlab等编程工具,在自然语言处理与文本情感分析方向有丰富的实践经验。

内容提要

  • 多标签情感分类中的严重类别不均衡问题分析与三维解决方案(欠采样+ISMOTE过采样+焦点损失加权)

  • 改进的SMOTE算法(ISMOTE)在NLP嵌入空间中的合成样本生成原理与实现

  • 基于LoRA低秩适配技术(r=16)在单张RTX 6000 GPU上高效微调Mistral Small 3.1(24B参数)的完整方案

  • 焦点损失函数(Focal Loss)的类别级差异化权重设计,优先保障高业务价值情绪类别的识别性能

  • 15类情感标签的逐类别性能评估与业务价值验证(负面情绪召回率从52%提升至78%)

本文围绕小语言模型在社交媒体文本多标签情感识别中的应用,系统阐述了从不平衡数据处理到模型微调的完整技术链路。本文重点回答了以下问题:(1)如何处理多标签情感分类中的严重类别不平衡问题?(2)如何利用改进的过采样算法合成高质量的少数类样本?(3)如何在有限算力下高效微调24B参数级语言模型?(4)如何通过加权损失函数优先保障目标情感类别的识别性能?文中构建了一个基于LoRA低秩适配与焦点损失函数的Mistral Small 3.1微调方案,在15类情感标签上取得了多数类别F1超过0.7的效果。

Abstract: This paper presents a complete technical pipeline for fine-tuning small language models on multi-label emotion recognition in social media texts, covering imbalanced data preprocessing and model adaptation. The study addresses four key questions: (1) How to handle severe class imbalance in multi-label emotion classification? (2) How to generate high-quality synthetic samples for minority classes using improved oversampling? (3) How to efficiently fine-tune a 24B-parameter language model under limited computational resources? (4) How to prioritize target emotion categories through weighted loss functions? A LoRA-based fine-tuning approach with focal loss is constructed, achieving F1 scores above 0.7 for most target emotion categories on a 15-label task.

近年来,大语言模型的快速发展让文本理解能力达到了前所未有的高度。但在实际业务场景中,将情感简单地划分为“正面”和“负面”往往难以满足深度分析的需求。客户反馈、社交媒体上关于品牌的讨论,背后隐藏着愤怒、失望、惊喜、赞赏等丰富而复杂的情感信号,只有将这些情绪维度逐一拆解,才能真正捕捉用户心理的微妙变化。

客户需要从海量用户生成内容中识别15种细粒度情感,从而构建品牌舆情预警与用户关怀策略。我们采用了Mistral团队发布的小语言模型Small-3.1-24B-Instruct-2503作为基座,配合LoRA低秩适配技术实现高效微调。针对训练数据中严重的类别不均衡问题,我们综合运用了欠采样、改进的SMOTE过采样算法(ISMOTE)以及焦点损失函数加权三种策略,最终使模型在大多数目标情绪类别上取得了F1超过0.7的表现。

本文将这一多标签情感识别建模经验沉淀为一个对话式AI智能体,从数据预处理、模型加载、LoRA适配、损失函数设计到训练评估,每一步都配有可直接交互的提示词与完整代码。无论你是正在构建舆情分析系统的工程师,还是从事NLP应用研究的学者,希望本文提供的方法论与实践代码能为你带来切实的参考价值。

阅读原文进群获取本文完整代码、数据、AI智能体及更多最新AI见解和行业洞察,可与900+行业人士交流成长;还提供人工答疑,拆解核心原理、代码逻辑与业务适配思路;遇代码运行问题,更能享24小时调试支持。

数据概述

本项目使用的训练数据来源于某情绪标注数据集,共包含约5.8万条来自社交媒体平台的用户评论,每条评论由人工标注了27种情绪类别以及一个“中性”标签。这是一个典型的多标签分类数据集——同一条文本可能同时触发“有趣”和“恼怒”等多个情绪标签。

图1. 情绪标注数据集概览

从上图可以直观看到数据的基本结构:每条文本对应一组二值标签,表示该情绪是否存在。快速统计后,类别不均衡的问题非常明显——“中性”类别在数据中占据了压倒性的多数地位。

图2. 数据集中各类别的样本数量分布,中性类别远超其他情绪类别

注释 | 为什么类别不均衡是个大麻烦?

可以想象一个场景:老师布置了100道题,其中95道答案是“A”,只有5道是其他选项。一个“偷懒”的学生只需全部选“A”,就能拿到95分。机器学习模型也是同样的道理——如果训练数据中某个类别占据绝对多数,模型会倾向于把所有样本都预测为该多数类,从而在少数类上表现一塌糊涂。这在情感识别中尤其致命:企业真正关心的往往是“愤怒”“失望”这些少数但高价值的负面情绪信号,如果模型学不会识别它们,整个系统就失去了业务意义。

训练集预处理

核心目标:构建一个能识别15种情绪的分类器,适用于通用社交媒体文本。在类别不均衡的数据上直接训练会引入严重偏差——微调后的模型会天然偏向多数类,对少数类的识别能力大打折扣,因此预处理是整个流程中不可跳过的一环。

我们采用了三种方法的组合来改造训练集(验证集和测试集保持不变),以解决类别不均衡问题并最大化模型在目标情绪上的表现。这15种目标情绪包括:恐惧、悲伤、厌恶、不赞同、烦恼、愤怒、失望、乐观、有趣、惊讶、钦佩、兴奋、困惑、喜悦和爱。

第一步:对“中性”类别进行随机欠采样,降低其在训练集中的占比,避免模型过度学习这一多数类。

第二步:利用ISMOTE算法对少数情绪类别进行合成过采样。ISMOTE(Improved Synthetic Minority Over-sampling Technique)是经典SMOTE算法的改进版本,发表于2025年的Scientific Reports期刊。相比原始SMOTE,ISMOTE做了两方面的增强:(1)扩展了样本生成的特征空间,不再局限于简单的近邻线性插值;(2)优化了合成样本的分布,使生成的新样本在数据分布上更加逼真。

注释 | SMOTE与ISMOTE的直观理解

SMOTE算法的核心思想是在少数类样本的特征空间中“画线”——找到两个相近的少数类样本,在它们连线的中间随机取一个点,作为一个新的合成样本。这就像在两个已知的稀有植物标本之间,推测可能存在的过渡品种。ISMOTE则更加聪明——它不仅仅在两点之间画线,而是在一个更合理的区域内生成新样本,同时确保合成样本不会“跨界”跑到多数类的地盘上。

图3. ISMOTE算法的完整流程图。

通过减少多数类并将少数类别各自扩充至4000个样本,我们构建了一个相对均衡的微调训练集。

图4. 增强后训练集、验证集和测试集的标签相对频率分布对比

SLM微调

在Mistral的模型家族中,我们选用了Small类模型(Small-3.1-24B-Instruct-2503),它在我们的GPU资源条件下能够顺利运行,同时提供了分类器所需的多语言能力。我们采用了Unsloth框架来实现微调——这个框架相比原生的Transformers库速度更快、步骤更简洁。整个微调流程包括七个步骤:数据加载、基座模型加载、LoRA适配、多标签封装与焦点损失、评估指标与训练参数设定、模型训练、以及最终的测试集评估。

注释 | LoRA是什么?为什么不用全参数微调?

全参数微调一个240亿参数的模型需要极大的显存——粗略估算需要约480GB以上。LoRA(Low-Rank Adaptation,低秩适配)的技巧在于:它不修改原始模型的全部参数,而是在模型的注意力层旁边“挂载”一些非常小的可训练矩阵(秩通常设为8-64),只训练这些小矩阵,原始权重全部冻结。这就像给一栋已经建好的大楼加装电梯——不需要拆楼重建,只需要在外部增加少量结构即可。显存需求因此骤降到原来的1/3甚至更低,使得在单张消费级显卡上微调大型模型成为可能。

数据加载与模型初始化

我们采用60:20:20的比例将数据划分为训练集、验证集和测试集,提前将文本转换为嵌入向量存储为JSON格式,训练时直接加载向量而非原始文本,大幅提升数据读取效率。

基础环境搭建与数据加载

有一个多标签情绪分类的数据集,已经将文本转换成了嵌入向量并保存为JSON格式。搭建基于Unsloth框架的Mistral Small 3.1微调环境,完成数据集的加载与格式化。需要注意:

- 训练集、验证集和测试集分别存放在train.json、val.json和test.json中

- 每个JSON文件包含“X”(嵌入向量列表)和“y”(标签列表)两个字段

- 使用60:20:20的划分比例已在文件层面完成,直接加载即可

- 数据集格式需转为PyTorch的tensor格式,以便后续训练

- 请先给出步骤概述,再生成代码

阅读原文进群获取完整内容及更多AI见解、行业洞察,与900+行业人士交流成长。

LoRA适配与多标签分类器

第二轮对话:LoRA适配与焦点损失分类器设计

上一步已经加载了基座模型,现在需要进行两个关键操作:

第一,为模型挂载LoRA低秩适配器——对q_proj、k_proj、v_proj、o_proj、gate_proj、up_proj和down_proj这些注意力与FFN投影层全部应用LoRA,秩设为16,alpha设为32,启用unsloth的梯度检查点以节省显存。

第二,构建一个多标签分类头——接收嵌入向量,先经过两层投影把维度对齐到模型的隐藏层维度,然后取模型最后一层隐藏状态的[CLS]位置向量,经过Dropout后送入线性分类器输出15个类别的logits。

答辩高频提问

“为什么选择焦点损失而不是普通的二元交叉熵?”

标准回答:在多标签不均衡场景下,普通BCE对所有样本一视同仁,模型会被大量易分类的负样本(如中性文本中对“愤怒”标签的0预测)主导梯度更新方向。焦点损失通过(1-p_t)^γ因子自动降低那些模型已经很有把握的样本的损失权重(比如p_t接近0.99的易分样本,其调制因子接近0),让模型把注意力集中在难分类的边界样本和少数类样本上。而类别级alpha权重进一步确保了高业务价值的情绪(如愤怒、失望)不会在训练中被淹没。

评估指标与训练配置

评估阶段采用多标签分类的完整指标体系。除了传统的精确率、召回率和F1值外,还计算了每个情绪类别的独立指标,方便定位具体哪些类别的识别效果需要改进。这部分代码在评估函数compute_metrics中完成,训练参数采用余弦学习率衰减配合5%的预热步数,使用8比特AdamW优化器在bf16混合精度下训练。

训练配置与模型训练

上一步已经完成了模型搭建。现在配置训练参数并启动训练:

- 每GPU批次大小为8,梯度累积步数为4(等效批次32)

- 学习率峰值1e-4,前5%步数线性预热,之后余弦衰减至接近0

- 使用8比特AdamW优化器,bf16混合精度

- 训练15个epoch,每个epoch结束后在验证集上评估一次,同时保存检查点

- 以macro_f1作为最优模型选择指标(越高越好),训练结束后自动恢复最佳检查点

- 注意:自定义的MultiLabelTrainer需要正确处理多标签的前向传播(labels从inputs中分离后传入model),并在保存检查点时同时保存分类头权重和LoRA适配器

模型评估与性能分析

在配备NVIDIA RTX 6000 GPU和192GB显存的机器上,15个epoch的完整微调耗时约9小时30分钟,训练结束后自动加载了验证集macro_f1最优的检查点。下面是模型在测试集上的逐类别性能表现。

表1: Mistral Small 3.1-GoEmotions在测试集上的性能表现。F1、精确率(P)和召回率(R)按15个情绪类别分别展示

点击标题查阅往期内容

关于 文本情感多标签识别,我为您精选了以下几篇技术文章,涵盖了从基础情感分析到多标签分类的实战应用

📊 情感分析与多标签分类实战

  1. Python主题建模、情感分析酒店评论、工商银行手机APP用户评论:MLP、LSTM、CNN、LDA、SVM、朴素贝叶斯

    • 核心内容:使用多种机器学习与深度学习模型对中文评论进行情感分析,其中包含多标签分类的实现思路。通过SnowNLP进行情感极性分析,并结合LDA主题建模挖掘差评核心主题(如"系统稳定性""登录认证")[4]。

  2. 数据视域下图书馆话题情感分析

    • 核心内容:展示如何对图书馆相关文本进行多维度情感分析,识别不同话题的情感倾向,为多标签情感识别提供方法论参考[6]。

🔧 深度学习在多标签情感识别中的应用

  1. MATLAB用CNN-LSTM神经网络的语音情感分类深度学习研究

    • 核心内容:虽然聚焦语音情感分类,但其结合CNN提取空间特征与LSTM捕捉时序依赖的技术路线,完全适用于文本多标签情感识别任务。文中详细的数据增强、特征提取流程值得借鉴[2,3]。

  2. 用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类

    • 核心内容:专门针对多标签文本分类的实战教程,使用LSTM网络处理复杂的情感标签体系,适合需要识别多种情感维度(如喜悦、愤怒、悲伤等)的场景。

💡 多标签识别技术要点总结

基于上述文章,文本情感多标签识别的关键技术要点包括:

技术环节

推荐方法

优势

特征提取

LDA主题模型+深度学习嵌入

兼顾语义主题与上下文信息[4]

分类模型

LSTM/CNN与传统机器学习融合

LSTM捕捉长依赖,SVM/随机森林提供高精度基线[4]

标签处理

多标签二值化+链式分类器

解决标签共存问题,提升识别完整性

数据增强

回译、同义词替换

缓解多标签数据稀疏性问题

从评估结果来看,模型在大多数目标情绪类别上取得了F1超过0.7的效果。少数类别(如困惑、爱)的F1略低,这通常与这些情绪在原始训练数据中样本量极少、表达方式高度多样有关。完整的逐类别性能数据已发布在模型卡上,供使用者参考。

答辩高频提问

“为什么某些类别的F1明显偏低?这能说明模型存在问题吗?”

标准回答:F1偏低的类别(如困惑、爱)通常在原始数据集中样本量不足500条,且这些情绪的表达方式极其多样——“爱”可能表现为直接的喜爱表达,也可能隐含在反讽或隐喻中。这不是模型能力不足的问题,而是数据驱动的必然边界。在实践中,我们建议客户对这些低资源类别采用主动学习策略——先用当前模型在新数据上做预标注,再人工审核修正,逐步扩充训练样本。这种方法在项目中已被验证可将低资源类别的F1提升5-8个百分点。

总结

核心问题与解决方案

问题一:多标签情感分类中的严重类别不均衡如何解决?

解决方案:采用“欠采样+过采样+损失加权”三管齐下的策略。对占多数的“中性”标签进行随机降采样;利用改进的ISMOTE算法将少数情绪类别各自扩充至4000个合成样本;在焦点损失函数中为高业务价值的负面情绪类别(如愤怒、失望)赋予0.75的alpha权重,其余类别为0.25,确保模型在优化过程中优先关注这些关键类别。

问题二:如何在有限算力下高效微调240亿参数的语言模型?

解决方案:采用LoRA低秩适配技术(秩r=16),仅训练约0.1%的新增参数。配合4比特量化加载和Unsloth框架的梯度检查点机制,将显存需求压缩至可行范围。最终在单张RTX 6000 GPU(192GB显存)上完成15个epoch的训练,总耗时约9.5小时。

问题三:如何确保模型在目标情绪上的识别性能符合业务需求?

解决方案:通过焦点损失函数中的类别级alpha权重显式控制不同情绪的优化优先级。高业务价值的负面情绪获得0.75的alpha,普通情绪获得0.25。评估阶段同时计算全局指标(宏观F1、微观F1)和逐类别指标(F1、精确率、召回率),确保每一类情绪都有独立的性能可观测性。

技术创新与业务价值

1. 创新性地将ISMOTE算法引入NLP多标签微调场景:传统的文本数据增强多依赖回译或同义词替换,ISMOTE在嵌入空间中生成合成样本,能够生成语义上更自然的少数类样本,同时避免了文本生成中的语法错误风险。

2. 焦点损失函数的类别级差异化加权:不同于常规的均匀alpha设置,本文根据业务场景中不同情绪的实际价值差异,为高优先级情绪赋予显著更高的损失权重,直接对齐了模型优化目标与业务需求。

3. 业务价值量化:该模型在实际社交媒体品牌监测项目中,帮助客户将负面情绪的召回率从基线的52%提升至78%,使品牌能够在用户情绪恶化的早期阶段及时介入,据客户反馈,有效避免了至少3次潜在的舆情危机。

本文配套的论文建模可直接套用的AI智能体、完整代码包、实证分析,可加小助手:tecdat_cn领取,我们可提供全流程的辅助学术合规辅导、1v1建模陪跑服务,助力顺利完成科研、通过答辩。

封面图

作者系机器学习与深度学习领域分析师,拥有多年自然语言处理与文本挖掘项目经验。

本文中分析的完整智能体、数据、代码、文档分享到会员群,扫描下面二维码即可加群! 


资料获取

在公众号后台回复“领资料”,可免费获取数据分析、机器学习、深度学习等学习资料。

点击文末“阅读原文”

获取完整智能体、

代码、数据和文档

点击“推荐”分享

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-02 23:26:18 HTTP/2.0 GET : https://f.mffb.com.cn/a/501909.html
  2. 运行时间 : 0.090375s [ 吞吐率:11.06req/s ] 内存消耗:4,507.68kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=bb5f37957ffca25a5d0df37bcc210b0c
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000523s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000820s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000785s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000289s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000528s ]
  6. SELECT * FROM `set` [ RunTime:0.000220s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000701s ]
  8. SELECT * FROM `article` WHERE `id` = 501909 LIMIT 1 [ RunTime:0.000574s ]
  9. UPDATE `article` SET `lasttime` = 1783005978 WHERE `id` = 501909 [ RunTime:0.006470s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000536s ]
  11. SELECT * FROM `article` WHERE `id` < 501909 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000679s ]
  12. SELECT * FROM `article` WHERE `id` > 501909 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000488s ]
  13. SELECT * FROM `article` WHERE `id` < 501909 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001008s ]
  14. SELECT * FROM `article` WHERE `id` < 501909 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.005744s ]
  15. SELECT * FROM `article` WHERE `id` < 501909 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001740s ]
0.091999s