独家丨别把LLM提取的主题当成真实变量

admin 2026-06-17 04:39:49 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文讨论了将大语言模型(LLM)从文本中提取的主题标签直接用作因果分析中的真实变量所带来的风险。文章指出,这类由模型生成的标签被称为生成变量,它继承了文本产生机制、模型提取过程和样本选择中的隐含假设,可能在分析中引入选择偏差、时序偏差和测量误差。文章通过模拟案例展示了错误地使用这些变量如何导致干预效应方向被反向估计,并强调在进行因果推断前,必须明确其变量角色、生成时间和可靠性,以避免将模型输出误认为事实本身,从而提升分析的可靠性。 综合评分: 85 文章分类: AI安全,技术标准,解决方案,数据安全,应用安全


cover_image

独家丨别把 LLM 提取的主题当成真实变量

数据派THU

2026年6月12日 17:00 北京

在小说阅读器读本章

去阅读

作者:William Gieng

翻译:周梓溢

校对:陈超

本文约5700字,建议阅读15分钟

别把 LLM 提取的主题当成观测值,给因果分析从业者的提醒:警惕“生成变量。

本文围绕大语言模型从文本中提取出的“主题标签”展开讨论,指出这类标签不应被直接视为真实观测变量。

文章以客服通话文本中的“账单不满”主题为例,说明当分析师将 LLM 提取结果拼接进客户数据表,并把缺失值填为 0 或“未提及问题”时,实际上可能把“没有留下文本记录”错误解释为“没有经历相关问题”。这种干预会在因果分析中引入选择偏差、时序偏差、测量误差和变量角色误判。文章进一步通过模拟案例展示,错误地控制干预后生成的文本主题,甚至可能导致干预效应方向被反向估计。作者强调,LLM 生成的主题标签是“生成变量”,它继承了文本产生机制、模型提取过程和样本选择机制中的隐含假设。因而,在将此类变量用于回归、A/B 测试或因果推断之前,研究者必须明确其变量角色、文本生成时间、样本选择机制、标签可靠性以及模型结果的稳健性。理解这一问题,有助于避免把模型输出误当作事实本身,从而提升基于文本数据的因果分析可靠性。

关键词:大语言模型、生成变量、因果推断、文本分析、选择偏差、测量误差、干预后偏差

图源:Claude

一位分析师把大语言模型从客服通话语料中抽取出的主题,与客户数据表进行合并关联。没有通话转录的客户,被记为 NULL。随后,NULL 被填成 0,或被写成“未提及问题”,又或者被悄悄作为参照类别省略。就在一行预干预代码,整条数据流程把“没有致电客服”转换成了“没有对账单不满”。

接下来的回归结果看起来很清晰。“账单不满”这一变量的系数显著,符号也正合产品团队预期,而且数值大到足以影响决策。于是它被复制进路线图文档。没有人问这个变量到底从哪里来的。

本文要探讨的,正是那个填充值里被悄悄带入的假设,以及另外三个在 notebook 里看似同样无害、实则依赖于分析中隐含假设的操作。这类问题并不限于客服通话。只要现代数据流程把文本转化为整洁的数据列,它就可能出现:聊天记录、工单摘要、商品评价、销售通话转录、问卷开放题,皆是如此。流程可以是微调分类器,可以是零样本 LLM,也可以是嵌入向量加聚类。概念上的问题没有变化:这一列并不是对客户属性的直接观测,而是将生成过程应用于一个客户行为的自选择子集得到的输出。

分析师越来越容易把这类输出当成客户状态的直接读数来使用,但它们并非如此。它们是生成变量:由流程产生的测量值,并且以客户先做了某件能留下文本痕迹的事情为条件,还以这段文本痕迹能够被提取模型识别为条件。链条中的每一步,都会影响该变量在下游因果模型中的含义,而这些影响大多不会出现在拼接后的表格里。

NULL 干预会出现的四类常见错误

#

选择偏差。某个主题之所以出现在某位客户身上,是因为这位客户打了电话、提出投诉、发了帖子,或者填写了回复。这种行为很可能也与干预变量、结果变量相关,或者是两者同时相关。NULL 填充会把“没有生成文本”折叠进参照类别。于是,分析估计的就不再是整个客户群体上的效应,而是一个被预干预重新定义过的人群上的效应。

时序问题。这通电话发生在干预之前、干预过程中,还是干预之后?干预前的文本可以是潜在混杂因素;干预后的文本则可能是中介变量或结果变量。把干预后的文本当成干预前的控制变量,是产生干预后偏差的常见来源。而拼接后的表格通常不会体现这一点。

测量问题。“账单不满”这个标签本身并非对账单不满。它只是流程在文本中识别出的看起来像账单不满的语言表达。分类器的准确率是有限的,并且不同干预组的准确率可能存在差异。因为改变客户表达方式的干预方法也会改变模型读取这些表达的方式。标签噪声并不与研究对象无关。

变量作用。这个主题在模型中到底发挥什么作用?它是混杂因素、中介变量、干预变量、结果变量,还是用于描述的特征?答案由因果有向无环图(DAG)决定,而不是由列名决定。一个变量在某种作用下可能方法论上成立,换到另一种作用下却会成为偏差来源。

这四个问题并不是彼此独立的,而是会相互影响。由 LLM 检测出的主题继承了来源渠道带来的选择特征、文本生成时间带来的时序特征以及提取流程带来的测量特征。下游回归可见的一列由 0 和 1组成的数据。

问题并不在于这个流程给出了一个错误的标签,而在于这个标签继承了一套下游分析从未建模的数据生成过程。

接下来,文章将详细阐述这种问题在实践中意味着什么,标准工作流会在哪里出错,以及最基本的诊断步骤是什么。我们先从“作用与时序”开始,因为这是分析师最先容易弄错的问题。

变量作用与时序问题,其实是同一个问题

#

分析师面对一个由转录文本派生出来的主题时,第一步往往是隐性的:把它当作协变量。主题被放进回归方程右边,干预变量是关注重点,结果变量放在左边,而主题则被“控制”起来。

“控制”实际上做了分析师没有核查的工作。控制一个变量,意味着调整干预与结果关系中、经过这个变量的那部分关系。这样的调整究竟是在帮助识别,还是在制造偏差,完全取决于该变量在因果图中的位置。而这个位置,由时间顺序决定。

在分配干预方案之前生成的干预前文本可能起到混淆因素的作用。比如,客户在一月份致电询问账单,而留存优惠三月份才发出,那么这次通话记录就反映了客户状态的某些信息,这些信息可能同时影响到哪些客户收到了优惠,以及哪些客户最终流失。如果该主题确实代表了相关的概念,并且下一节中提到的选择偏差问题得到了妥善干预,那么在此基础上进行条件化分析可以减少遗漏变量造成的偏差。

同期文本,也就是作为干预的一部分而生成的文本,根本不能被当成普通协变量。如果干预是一通来自客户留存专员的电话,而主题又来自同一通电话,那么这个主题就是干预的一部分。以该主题为条件并不能调整混淆因素;它反而会消除分析人员试图测量的部分效果。

干预后文本最危险,在没有时间索引的数据表中,它最容易被误当成混杂因素。某位客户三月份收到了留存优惠,四月份打电话投诉;这通电话的转录文本至少在一定程度上反映了对干预的反应。对从这通电话中提取的主题进行条件化,就是在对干预后变量进行条件化。这可能阻断中介路径,诱发关联碰撞,或者导致估计值偏离分析师估计的干预效应。

一个实际的例子可以更具体地说明这一点。设想一个模拟但符合实际业务现实的场景:企业根据一个能够捕捉价格敏感度的模型,向客户定向发放留存优惠。优惠分配和客户流失都受潜在价格敏感度影响,而这个价格敏感度分析师无法直接观察。价格越敏感的客户,越可能收到优惠,因为定向模型选中了他们;即便是这样他们也更可能流失。同时,他们更可能致电客服并表达对账单的冲击。于是,“账单冲击”(bill_shock)这个主题,正是从这些干预后的通话中生成的。

缺乏经验的分析师将主题添加到客户表中,将 NULL 值填充为零,并以客户流失为因变量、优惠活动和 bill-shock 为自变量运行逻辑回归:

import numpy as npimport pandas as pdimport statsmodels.api as smrng = np.random.default_rng(7)n = 20000price_sens = rng.normal(0, 1, n)offer = rng.binomial(1, 1 / (1 + np.exp(-(0.8 * price_sens))))churn = rng.binomial(1, 1 / (1 + np.exp(-(-1.0 + 1.2 * price_sens - 0.5 * offer))))called = rng.binomial(1, 1 / (1 + np.exp(-(-1.5 + 0.7 * price_sens + 0.9 * churn))))theme_prob = 1 / (1 + np.exp(-(-0.5 + 0.8 * price_sens)))bill_shock = np.where(called == 1, rng.binomial(1, theme_prob), 0)df = pd.DataFrame({"churn": churn, "offer": offer, "bill_shock": bill_shock})X = sm.add_constant(df[["offer", "bill_shock"]])naive = sm.Logit(df["churn"], X).fit(disp=0)print(naive.params)

优惠活动对流失的真实效应是 −0.50(log-odds)。该优惠活动本应降低流失率,而且它确实降低了。可是,四种模型设定会给出四种不同答案。

图 1:同一份数据,四种设定,四个答案。

| | | | | — | — | — | | 模型设定 | 优惠系数 | 结论 | | 朴素模型(含bill-shock) | +0.12 | 优惠看似增加流失 | | 删除变量(不含bill-shock) | +0.24 | 优惠仍看似增加流失 | | 理想模型(含 price_sens) | −0.55 | 优惠减少流失 | | 真实效应(数据生成过程) | −0.50 | 优惠减少流失 |

由于优惠分配本来就受到价格敏感度混杂,删除一个错误控制变量并不会让研究设计变得有效。它只是在移除一个额外的扭曲来源。从这张表可以看到两点。

第一,朴素模型的设定方向是错的。在一个本已存在偏差的模型中加入 bill-shock 控制变量,会改变优惠系数的符号。产品团队如果看到这样的输出结果,会得出结论:留存优惠会导致客户流失。这个结论是错的。

第二,剔除bill-shock变量并不能解决分析问题。剔除变量后的模型系数仍然为正。只有那个能够直接控制未观测混杂因素 price_sens 的理想模型,恢复了真实效应。在实际分析中,分析师并没有这列数据,关键就在这里。移除不合适控制变量是必要的,但并不充分;从自愿参与的亚群体中提取的干预后主题并不能替代因果识别策略。

朴素模型中符号反转的机制值得深入探讨。客户流失会影响客户致电的可能性,因为即将离开的客户更可能致电客服。账单冲击只对已来电的客户才可观察到,因为该主题需要通话记录才能存在。因此,对 bill-shock 条件化,其实是在对流失的下游后果进行条件化。在 bill-shock = 1 的客户中,优惠与价格敏感度之间的关系已经被扭曲,因为这两个变量现在都参与解释了客户为什么最终被打上这个标签。优惠系数吸收的,正是这种被诱导出来的关联。

这个方法论要点可以推广开来。一个由转录文本派生的变量,在因果图中的位置,取决于相对于干预来说文本的生成时间、是谁生成了文本,以及标签由什么过程产生。作用与时序,是从两个角度看同一个问题。这类变量带着结构性足迹,分析师有责任追踪它;而这种追踪,不会自动发生在合并表里。

选择问题

#

大多数使用客服转录文本的行业分析,都会在不知不觉中把研究人群从“客户”重新定义为“生成客服语言的客户”。回归分析开始之前,估计量已经改变。

这往往是从业者工作流中最重要、也最脆弱的一环。

文本之所以存在,是因为客户做了某件事:打电话、发帖、投诉、回复。这是一种行为,不是一种衡量指标。它受客户特征、可用渠道、潜在问题的紧迫程度影响,也经常受干预措施本身影响。这些因素都不是随机的,通常也不会与结果变量独立。

NULL 值干预决策是实际操作的关键所在。常见做法有三种,每一种都基于一定的假设。

把 NULL 填成 0 或“未提及问题”,意味着未生成文本表明不存在潜在问题。分析师声称:没有致电客服的客户没有遇到主题所要检测的问题。对于大多数值得检测的主题而言,这个假设显然站不住脚。没有打电话的客户也可能经历过账单不满,只是他们通过取消服务、转向竞争对手、在社交媒体抱怨,或干脆放弃来解决问题。而将所有这些情况都填充为零,就意味着“没有遇到任何问题”。

删除 NULL 主题所在的行,把分析限制在致电的子人群中,至少能如实反映总体情况,但这会改变估计量。致电客户中的干预效应,不等于全体客户中的干预效应;而这两者之间的差异,常常正是业务问题的核心。留存优惠对“有流失风险且会致电的客户”的影响,当然是一个有用的指标,但它并不是大多数分析声称自己在估计的指标。

把文本是否存在视为一种缺失机制,并基于来电者的模型进行逆概率加权(IPW),在方法论上是正确做法。问题在于倾向模型本身。对文本生成者进行建模需要记录来电驱动因素,而该模型取决于人口统计特征、客户年限、既往问题、干预暴露以及不可测的冲击——而这正是该主题最初旨在帮助测量的概念。逆概率加权法的原则性是存在的,但它很少像表面看起来那样有原则。

更深层次的问题是:文本选择行为会与干预方式相互作用。例如,留存优惠可能会改变通话频率,价格调整可能会改变投诉率,新功能发布可能会改变客户提出的问题类型。所有这些都使得选择机制本身依赖于干预方式,这意味着即使是完美提取、时机恰当的主题,其测量对象也是随着干预方式而变化的群体。标准的观测校正假设选择机制是稳定的。当干预方式改变选择时,这些校正方法就失效了。

但这并不意味着从文本中提取的变量毫无用处。而是意味着分析人员有义务向读者明确说明分析所针对的人群、文本的产生机制,以及对于没有文本的人群所做的假设。

#

测量问题

#

旧式 NLP 输出看起来很嘈杂。TF-IDF 权重、稀疏关键词计数、LDA 主题向量,都不像是客户真实感受到的东西。从业者本能地不信任它们,而这种本能避免了许多错误的分析。

LLM 的输出结果却不显得嘈杂。它们看起来像潜在构念。像“账单不满”“信任侵蚀”“续约焦虑”这样的标签,读起来像是在描述客户的心理状态。这些标签清晰明了,类别语义连贯,而且错误模式不会直接暴露在表格里。说服问题在统计问题出现之前就已经存在了。

统计问题更为常见。LLM 主题是潜在结构的噪声代理。标签“账单冲击”并非真正的账单冲击,而是模型在干预的文本记录中判定为具有账单冲击特征的语言。即使对于干净的任务,分类器的准确率也是有限的,而且在实际总体(而非预留的评估集)上的准确率通常未知。在某些情况下,用噪声代理代替真实变量代入回归模型会使系数趋近于零,而在另一些情况下则会扭曲系数,这取决于噪声是否具有差异性。

差异性测量误差才是真正造成损害的地方。如果一项干预措施改变了客户的表达方式(大多数值得实施的干预措施都会如此),那么分类器在主题检测方面的准确率在干预组和对照组之间可能会有所不同。例如,一项旨在缓和客户情绪的挽留优惠可能会降低模型对“账单冲击”等措辞的标记率,但并不能降低客户潜在的不满情绪。一项改变客户抱怨方式的价格调整可能会导致分类器准确率在某一组比另一组更显著地变化。标签噪声不再是均值为零。它与干预措施相关,而基于噪声标签进行条件化会使估计的干预效果产生偏差,分析师很难确定其方向。

关于如何修正分类器引入的测量误差,已有相关文献。Egami 等人在《How to Make Causal Inferences Using Texts》中,为把文本发现的测量作为干预或结果的因果推断,提出了分割样本工作流。Mozer 等人将文本增强匹配应用于电子健康记录,在真实医学研究中展示文本协变量如何改变估计效应。Keith、Jensen 与 O’Connor 在《Text and Causal Inference: A Review of Using Text to Remove Confounding from Causal Estimates》中综述了文本在消除因果估计混杂方面的应用。这些方法确实存在,在分析结果重要时也值得使用。但它们首先要求分析师承认:标签是一种带有误差的测量。而这一步,恰恰是多数工作流跳过的。

从业者的错误不在于使用标签。真正的错误,是把一个生成模型输出的标签,当作从传感器直接读出的数据列。

从业者检查清单

#

使用从文本记录中生成的变量进行的因果分析仍然是合理的。它只需要在回归分析运行之前回答五个问题即可。

  1. 我假设这个变量起什么作用?

它是混杂因素、中介变量、干预变量、结果变量,还是描述性特征?由 DAG 决定,不由列名决定。

  1. 文本相对于干预措施,是在什么时候生成的?

干预前、同期,还是干预后?如果分析师无法从数据中回答这个问题,该变量就不应作为混杂因素进入模型。

  1. 文本是由什么选择机制生成的?对于没有文本的人,我做了什么假设?

零填充、删除、IPW:每一种都是假设。请选择其中一种并加以说明。

  1. 标签是如何产生的?它的可靠性是否可能在不同干预组之间不同?

如果干预措施有可能改变顾客表达潜在结构的方式,那么分类器准确率在本次比较中就不恒定为常数。

  1. 压力测试下,结果怎么样?

去掉从通话记录中派生的变量,重新拟合模型。如果核心系数因此出现明显变动,说明结果还不够稳健,不足以单独支撑一个因果性的结论。

这五个问题不是解决方案,而是一套诊断工具。能回答这些问题的分析师,并不能保证一定能得到一个可识别的因果效应。而无法回答这些问题的分析师,做的不过是描述性工作,只是在外面包了一层因果推断的语言外壳。

这种更广泛的模式,比 LLM 的出现要早得多。生成变量是流水线的输出,看起来像观测值,实际上却是以选择机制为条件的模型输出。它们出现在欺诈评分、推荐系统的相关性指标、情感指数、被重用为协变量的倾向性评分,以及一切由上游模型产生、被下游分析消费的潜在特质估计中。LLM 没有发明这个错误,它们只是以旧时 NLP 输出从未达到的规模和流畅度,把这个错误变得触手可及。标签看起来像潜在构念,数据列看起来像测量值,整个工作流看起来像因果推断。

假设并没有消失。它们只是被移到了上游。

原文标题:

LLM Themes Are Not Observations

原文链接:

LLM Themes Are Not Observations

编辑:于腾凯

校对:林亦霖

译者简介

周梓溢,广州大学统计学在读学生,数据科学爱好者。在学习中时常翻阅数据科学英文文献,一直在学习的路上,希望在学习过程输出一些有意义的事情。很高兴加入数据派THU翻译组这个大家庭,期望与大家共同探索数据科学,一起「无限进步」!

翻译组招募信息

工作内容:需要一颗细致的心,将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友欢迎加入翻译小组。

你能得到:定期的翻译培训提高志愿者的翻译水平,提高对于数据科学前沿的认知,海外的朋友可以和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。

其他福利:来自于名企的数据科学工作者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。

点击文末“阅读原文”加入数据派团队~

转载须知

如需转载,请在开篇显著位置注明作者和出处(转自:数据派ID:DatapiTHU),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。

关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。

新浪微博:@数据派THU

微信视频号:数据派THU****

今日头条:数据派THU

点击“阅读原文”拥抱组织


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:数据派THU 《独家丨别把 LLM 提取的主题当成真实变量》

江渭清回忆录_七十年征程 网络安全文章

江渭清回忆录_七十年征程

文章总结: 文档分享江渭清回忆录选段,涵盖皖南事变项英责任、反清乡斗争教训、孟良崮战役张灵甫之死政治处理、四清运动中与刘少奇的分歧及毛主席的态度、文革保护孙中山
评论:0   参与:  0