乐于分享
好东西不私藏

AI如何赋能民族植物学:一篇巴西研究带来的方法学启示

AI如何赋能民族植物学:一篇巴西研究带来的方法学启示

如今,“AI改变科研成了流行语,但对民族植物学和民族生物学研究者而言,这句话往往略显空泛。巴西学者Michelle Cristine Medeiros Jacob联合此前介绍过的学者Ulysses Paulino Albuquerque等共36名学者发表于Scientific Reports的一篇研究Prioritizing neglected food species in nutritional studies using expert-knowledge and explainable AI给大家提供了一个可操作的例子:在有限经费和人力条件下,哪些被忽视的食物物种应优先进入营养成分和膳食消费研究?其方法使用了专家知识+可解释AI”的组合策略,这一思路完全可以迁移到民族植物学的多种议题上(方法部分略长,详见备注)。

一、先做好人类最擅长的部分:清单与专家打分

研究的第一步并非直接交给AI,而是组建跨学科专家团队(图1),包括植物学、真菌学、藻类学、昆虫学、鱼类学及野生脊椎动物学专家,并由数据科学家(one expert in data science)提供技术支持。团队主要完成三项工作:一是编制全国性的被忽视食物物种清单,严格依托系统综述、长期饮食数据、官方数据库和法规(如巴西社会生物多样性产品清单),并结合专家共识筛选,最大程度减少主观偏差,最终获得涵盖369种物种的清单。二是为每个物种挑选可量化特征,如地理分布(出现州数)、保护状态野生/栽培商业化种植情况营养数据是否存在相关菜谱数量等。三是邀请评审专家(见备注,与编制清单的专家不同,避免学者“又当运动员又当裁判”),在不知物种学名和俗名的前提下,仅依据上述6个特征,用1–5分量表打成分研究优先级消费研究优先级,并标注置信度。同时,在后续建模阶段将评审专家的学科背景(如是否来自营养科学)作为模型中的解释变量,用于分析不同学科专家的决策差异。说白了,这一步就是我们平时做民族植物学研究的常规流程:列清单、定指标、请专家判断。AI做的事情并不神秘,只是把这些经验整理出来,算一算哪些因素更重要,让结果更直观。

图1 被忽视食物物种优先级评估的方法流程

二、AI具体做了什么?

在获得物种特征和专家评分后,研究团队引入LightGBM(梯度提升树模型)预测优先级分数,并用SHAPShapley加性解释)分析模型决策过程。具体操作包括:使用10折交叉验证训练回归模型(见备注),使模型学习哪些物种更易被专家赋予高优先级;模型表现良好,成分研究优先级R²≈0.68,消费研究优先级R²≈0.78,说明模型捕捉到了专家决策中的稳定模式;通过SHAP分析每个特征对预测的贡献,得到可视化的特征重要性特征对优先级的影响图谱(图2),而非黑箱分数。SHAP图结果显示,无论营养学家还是环境科学家,最重要的特征是物种相关菜谱数量出现州数被做成菜的频次空间分布广度比保护等级或类群归属更能解释专家心中的优先级。此外,模型还显示评审专家学科背景变量能够区分不同学科在优先级判断上的侧重点,从而揭示跨学科决策逻辑的差异。这并非AI自行创新,而是将专家分散在脑中的决策规则提炼成可讨论、可验证的证据(AI贡献还可见备注最后部分)。

图2 用于确定物种研究优先级的因素:(A)食物成分研究;(B)食物消费研究。SHAP 值反映了各特征对模型预测优先级评分的贡献程度。

三、对民族植物学有什么启发?可以从这三步开始

方法论上,这项研究做了三件民族植物学非常需要、但传统方法难以同时完成的事情:首先,它将“文化使用”量化。研究通过3.6万余道菜谱,把物种在日常生活中的活跃度转化为可计量变量,而不是停留在“常见/罕见”的主观印象。其次,它把“多位专家的直觉”转化为可分析模型,通过机器学习与SHAP展示不同特征的边际贡献,使研究者能够清楚看到哪些因素真正影响优先级判断。第三,它利用可解释AI作为跨学科对话工具,显示营养学家与环境科学家关注重点的异同,从而为跨学科协作提供共同语言。对应到民族植物学研究中,可以将访谈、菜谱、药方、仪式记录与市场调查等资料进行结构化整理,并据此开展三个可操作步骤:一是在构建物种清单时为每个物种设计可量化特征,不仅记录“可食用/药用”,还可加入空间分布、文献或访谈出现频次、市场交易与产品化情况,以及已有营养或药理数据,为后续模型提供输入;二是组织“盲化优先级打分”,仅提供特征信息而非物种名称,让专家或社区知识持有者为优先调查、保护或推广打分,并标注置信度;三是与数据科学家合作运行可解释模型,即便是简单的树模型结合SHAP,也足以揭示不同群体判断的共性与差异,以及反复被使用的决策变量,如文化价值、药用广度、市场潜力或濒危程度。通过这种方式,AI并不会替代田野工作,而是将田野数据和专家经验转化为可复用、可比较、可与政策对接的决策工具,并显著增强“如何组织、解释与传达答案”的能力。

四、AI是民族植物学的放大镜

这项巴西研究将模型和代码开源,供其他地区针对本土被忽视物种的研究改造使用。对民族植物学研究者而言,核心启示是:只要将田野、访谈、菜谱、口述传统整理成结构化数据,AI就可成为强大放大镜——放大隐含在传统知识中的模式、不同学科和利益相关者的共识与张力,以及在政策和资源分配讨论中的话语权。与其担心“AI会取代民族植物学,不如尽早让民族植物学成为“AI时代不可替代的数据与知识源。这篇研究提供了清晰的起点。

备注:数据来源特征构建专家打分机器学习与可解释性这条主线,方法部分的具体步骤如下。

1. 研究区域与总体设计

  • 研究以巴西为案例国,理由是:巴西是全球生物多样性最丰富的热带国家之一,但被忽视物种在居民饮食中占比极低、在国家食物成分表中严重缺失。
  • 研究目标有两个:先建立全国性的被忽视食物物种清单,再基于这个清单构建一个优先级评估框架,预测哪些物种更应该优先进入食物成分与膳食消费研究(我个人认为这个研究非常有意思,尤其是在城市民族植物学研究中可以借鉴)。

2. 被忽视食物物种清单的建立

2.1 专家小组组成与角色

  • 先组建一个核心专家小组(core expert panel),共 14 人,包括 13 个分物种组的专家+1个数据科学专家,覆盖6大食物类群:藻类、陆生野生脊椎动物、鱼类与海鲜、昆虫、真菌(蘑菇)、植物。
  • 这些专家由第一作者团队基于发表记录与系统综述等工作邀请,例如有的专家刚做过对应类群的系统综述或全国清单(如野生食用菌)。
  • 大约三分之一核心专家有与传统人群(原住民、河岸社区、手工渔民等)直接合作的经验,并且在6个食物类群中的4个类群里,至少有来自不同地区的专家,以保证全国视角。

2.2 清单构建的信息来源与被忽视界定

  • 核心专家采用系统性与半系统性的资料源:
    • 各类系统综述与综述性论文
    • 30年不同地区食物消费的长期数据集
    • 官方数据库(如IBAMA)和其他正式文件
    • 针对植物等类群,借助官方社会生物多样性产品清单(如MAPA/MMA 2021号联合法令),保证被忽视物种的界定尽量客观而非完全主观。
  • 基于这些信息,在6个类群中编制出369被忽视食物物种的全国性清单,作为后续分析基础。

3. 特征(features)选择与数据收集

3.1 特征选择

  • 核心专家与第一作者共同确定用于刻画每个物种的特征变量,因为文献中没有现成的统一指标集合。
  • 通过非系统性文献回顾与小组讨论,最终选定6个主要特征:
    1. 在巴西的区域分布:以出现于多少个州为计数(地理分布广度);
    2. 保护现状:按IUCN九个威胁类别记录(包括未评估和数据缺乏);
    3. 来源:野生或栽培(origin);
    4. 商业化栽培状态:是否已有商业化生产(是/否);
    5. 营养数据可用性:无数据/有种级别数据/有属级别数据/仅有俗名数据;
    6. 菜谱数量:涉及该物种的菜谱总数。

3.2 菜谱数据收集

  • 菜谱数据用于量化文化使用烹饪应用性
  • 数据源包括三类:
    • 巴西国家统计局的家庭预算调查(POF/IBGE)中记录的菜谱和饮食准备方式;
    • 以被忽视物种或传统菜肴为主题的纸质或电子食谱书;
    • 巴西访问量最高的三个菜谱网站中与这些物种相关的菜谱。
  • 通过人工或半自动检索,统计每个物种出现的菜谱数量,作为一个关键特征变量(recipes)。
  • 所有特征数据的采集时间为20234–10月,详尽数据源见Supplementary Information 5

4. 专家打分:优先级与置信度

4.1 评审专家(ad hoc evaluators)的招募与构成

  • 在核心专家之外,又招募了一组临时评审专家ad hoc evaluators),要求:
    • 背景为营养科学或环境科学;
    • 有与至少一个被忽视食物类群相关的研究经验。
  • 通过团队的专业网络发放标准化招募表,所有符合条件且愿意参与者均被纳入,并可作为论文共同作者。
  • 最终共有18名评审专家:72.2%来自营养科学,27.8%来自环境科学。
    • 营养专家中,食物成分与膳食消费方向大致各占约38%,约23%同时涉足两领域。
    • 环境专家中60%专攻民族生物学(ethnobiology),40%兼有民族生物学与生态学背景。
  • 文中将是否来自营养科学作为一个二元变量“Labeler from nutrition  science”,用于比较不同学科背景的优先级模式(即在机器学习建模阶段,将评审专家学科背景作为解释变量纳入模型,以比较不同学科专家的优先级判断模式,如“Labeler from nutrition science”)。

4.2 评分流程与工具

  • 评分前进行大约30分钟在线培训,统一任务理解;同时提供变量词典,详细解释每个变量和各类分类选项。
  • 每位评审专家得到一份包含369种物种数据的表格,其中已填入前述6个特征(3.1提到的)变量。
  • 为避免物种名带来既有偏见,表格中不显示物种的学名或俗名,只标注其所属大类(藻类、陆生野生脊椎动物、鱼、昆虫、蘑菇、植物),要求专家完全根据特征信息(即3.1提到的6个特征)来判断优先级,即为减少熟悉度带来的偏见,专家主要依据特征变量而非物种背景信息进行评分
  • 对每个物种,专家需要在两个维度上打优先级分数(1–5Likert量表,1=非常低,5=非常高):
    • 该物种被纳入营养成分研究的重要性(composition priority);
    • 该物种被纳入膳食消费研究的重要性(consumption priority)。
  • 同时,对于每个打分,专家还要给出一个1–5置信度评分,反映其对自身判断的信心,这两个置信度变量也被记录下来(后在分析中可选用)。
  • 根据巴西伦理规范(CNS 510/2016),因不涉及个人敏感信息,且仅收集专家的专业意见,本研究不需要伦理委员会审批。

5. 数据分析与建模流程

5.1 描述性分析

  • 首先对清单物种的特征做描述性统计(均值、中位数、标准差、四分位数等),以了解不同类群在分布、保护状态、商业化、营养数据可用性、菜谱数量等方面的整体模式与差异。

5.2 构建监督学习回归模型

  • 目标:用物种特征(自变量)预测专家给出的两个优先级评分(成分研究优先级、消费研究优先级),并量化各特征的重要性。
  • 模型类型:监督学习中的回归模型(target为连续1–5分)。

5.2.1 交叉验证

  • 使用10折交叉验证10‑fold cross‑validation):
    • 将数据分成10等分;
    • 每次用9份训练,1份验证,循环10次;
    • 以减少对训练/验证划分偶然性的依赖,提高泛化性能估计的稳定性。

5.2.2 模型选择:LightGBM

  • 对若干常见模型架构进行比较,最终选择 Light Gradient Boosting MachineLightGBM)作为回归框架,因为在本数据集上其RMSE (Root Mean Squared Error,均方根误差)最低。
  • LightGBM通过梯度提升树(gradient boosting decision trees)逐棵生成新树,修正前一阶段的误差,适合处理非线性特征与特征间复杂交互。

5.3 可解释性分析:SHAP

  • 在训练最终LightGBM模型之后,引入SHAPSHapley Additive exPlanations)来解释模型输出。
  • SHAP 基于合作博弈论的Shapley值,计算每个特征对单个预测结果的边际贡献,可定量回答“这个物种的高/低优先级,是哪些特征推出来的以及推了多少”。
  • 利用多种SHAP可视化形式:
    • summary beeswarm plot:展示全局特征重要性排序及高/低特征值对预测方向的影响。
    • dependence & force plots等,用来分析某个特征值从低到高变化时对优先级分数的影响方向与幅度。
  • 这样既得到平均意义上的重要特征排序,也能看到在特定物种或特定子样本里,特征是如何作用的

5.4 实现工具与性能指标

  • 主要使用的Python工具:Pandas(数据处理)、scikit‑learn(交叉验证、预处理等)、LightGBM包(建模)、SHAP包(解释)。
  • 性能评估采用:
    • RMSE(Root Mean Squared Error)评估预测与实际专家评分的偏差大小;
    • R²(决定系数)评估模型对优先级评分方差的解释比例。
  • 最终模型在成分优先级与消费优先级上的分别约为0.6770.782,表明模型能较好捕捉专家打分的模式。
  • 所有数据库与分析脚本在GitHubhttps://github.com/eliasjacob/paper_bionut)公开,便于他人复现或迁移到其他国家与物种集合。

6. AI主要做了什么?

6.1没有再把369种“筛小”,而是针对369种,学习“谁更优先”

每个物种都有一组特征:地理分布、保护状态、是否野生/栽培、商业化情况、营养数据是否存在、相关菜谱数量等。

评审专家针对每个物种打了两个15分的优先级(成分研究优先级、消费研究优先级),再加一个置信度分。

AILightGBM模型)用这些特征去“拟合”专家的打分:即在369种内部建立一个“优先级函数”,预测每种的优先级高低,并评估拟合好不好(R²≈0.68 / 0.78)。

6.2用可解释AI去“解释为什么”

通过AISHAP分析,量化了各个特征对“优先级高/低”的贡献,从而告诉你:在专家群体的实际决策中,哪些变量真正在起作用。结果发现:菜谱数量和在多少个州出现,是影响优先级最重要的两个正向因素;保护状态、是否昆虫/藻类等,对优先级影响反而很小。还可以比较营养学家vs环境科学家的差异:前者更看重“在菜谱中的使用”,后者更看重“地理分布广度”。

所以,AI的角色可以总结为:不是“帮专家从369变成50”,而是:在这369种之内,给每种一个更可重复、可推广的“优先级评分模型”;把专家脑海里隐性的决策规则(比如“有很多菜谱就优先”)显性化、量化、可视化出来。换句话说:AI解释和放大了专家对369种的判断逻辑,并提供了一个可在其他国家/其他物种集合上复用的优先级评估框架。

参考文献

Jacob, M.C.M. et al., 2026. Prioritizing neglected food species in nutritional studies using expert-knowledge and explainable AI. Scientific Reports, 16: 11766. https://doi.org/10.1038/s41598-026-39484-6

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