找政策冲击太难?用 AI 从新闻和公告中发现事件变量-艾米丽
温馨提示若页面不能正常显示数学公式和代码请阅读原文获得更好的阅读体验。作者艾米丽 (连享会)邮箱lianxhcn163.com分类AI 专题Title找政策冲击太难用 AI 从新闻和公告中发现事件变量-艾米丽Keywords政策冲击, 文本分析, 语义向量, 语义相似度, 事件研究, DID, Python, GDELT提要本文介绍如何借助 AI 和语义相似度从新闻标题、政策公告和监管文件中筛选候选政策冲击并通过人工核验构造可用于 DID、事件研究和预测分析的事件变量附 Python 基本示例。SourceMayoral, L., Mueller, H., Philipp, M., Rauh, C., Vassallo, R. (2026). Semantic Similarity Measures in Newspaper Text for Detecting and Predicting Disruptive Institutional Events. BSE Working Paper No. 1555. PDF, Google.做政策评价类实证论文最有挑战的是选择一个合适的政策冲击。多数情况下我们会从现有文献入手在已有政策背景下更换研究对象、研究视角或结果变量。这种做法比较稳妥数据和识别思路也相对成熟但局限也很明显如果只是沿着已有文献继续推进论文的边际贡献就不容易突出对机制设计、异质性分析和理论解释的要求会更高。也有时候我们会尝试从最新政策文件入手围绕近期发布的新规、试点或专项行动设计研究。这类选题往往更有现实感也更容易体现政策意义。但它也有一个现实困难政策刚刚实施样本期通常很短结果变量未必充分反应长期影响也不容易观察。还有一类做法是从地方政策、新闻报道、监管公告、政府文件或公司公告中寻找尚未被充分研究的政策事件。这条路的潜力很大但工作量也很大。政策文本数量庞大表述方式不统一事件时间、影响对象和政策边界都需要逐条核验。那么能否借助文本分析和 AI 工具从海量新闻、公告和政策文件中发现候选政策冲击再通过人工核验形成可用于实证研究的事件变量Mayoral et al. (2026) 的论文提供了一个很好的参照。该文题为Semantic Similarity Measures in Newspaper Text for Detecting and Predicting Disruptive Institutional Events研究对象是制度冲击包括军事政变、规避任期限制、削弱司法独立等。作者使用全球新闻语料把新闻标题与事件原型标题转化为语义向量 (embedding)再通过语义相似度识别制度冲击并进一步预测未来 12 个月的制度风险。这篇论文的做法给了我很大的启发。如下图所示它展示了一个从非结构化文本到可核验事件变量的路径。这条路径可以迁移到很多政策评价场景中。只要某类政策或制度变化会留下文本痕迹研究者就可以尝试用类似方法先发现候选事件再通过人工核验形成事件数据库。上图概括了这类方法的基本逻辑。AI 不直接替研究者判断「政策是否发生」而是先把海量文本转化为候选事件清单。真正进入论文的数据仍然需要人工核验、证据留痕和清楚的变量定义。1. 政策冲击为什么难找政策冲击并不总是以结构化变量的形式出现在数据库中。一个地方是否真正推出了产业扶持政策一家企业是否受到监管处罚某个城市是否进入环保督察整改阶段某个地区是否实施了新的数据要素政策这些信息往往不在标准数据库中而是隐藏在大量文本材料里。传统方法大体可以分为两类人工阅读。优点是判断准确缺点是成本很高。面对几万、几十万甚至几百万条文本单靠人工很难系统完成。关键词检索。优点是简单缺点是容易漏检也容易误检。比如我们想找「产业政策」可以检索「产业政策」「扶持政策」「专项资金」「试点方案」等词。但实际文本中的表达并不稳定。一个地方可能写「加快先进制造业集群建设」另一个地方写「设立战略性新兴产业引导基金」第三个地方写「支持龙头企业揭榜挂帅」。这些表述未必包含同一个关键词却可能指向类似的政策行动。Mayoral et al. (2026) 的核心启发在于研究者不一定要从固定关键词出发而可以从语义相似度出发。换言之我们关心的不只是文本里有没有某个词而是这段文本表达的事情是否接近某类事件。2. 为何语义相似度比关键词检索更适合找事件关键词检索的基本逻辑是只要文本中出现某些词就认为它可能与某类事件有关。这种方法适用于术语稳定、文本格式规范的场景。比如我们想找「环保督察整改」可以检索「环保督察」「整改方案」「环境保护专项行动」等关键词。只要这些词出现就有可能是我们关心的事件。然而当事件表述不稳定、文本格式多样时关键词检索就容易失效。例如假设我们想识别「地方政府推出产业扶持政策」真实文本中可能出现以下表述某市发布先进制造业高质量发展行动方案某区设立智能装备产业专项资金某地出台支持中小企业技术改造若干措施某省建设战略性新兴产业集群某市对重点产业链企业给予税收和融资支持。这些文本不一定都包含「产业扶持政策」这个词但它们表达的事情可能相近。关键词检索只能判断某个词是否出现语义相似度则试图判断不同文本是否在表达同一类事件。简言之关键词检索适合找词语义相似度更适合找事件。需要说明的是语义相似度并不是要完全替代关键词检索。把二者结合起来往往能取得更好的效果。关键词检索可以作为第一步帮助我们缩小搜索范围排除明显无关的文本。语义相似度则可以作为第二步在关键词检索的基础上进一步筛选和排序找到那些虽然没有明确关键词但在语义上接近我们关心事件的文本。3. 新闻标题如何变成制度冲击信号Mayoral et al. (2026) 研究的是制度冲击。论文主要关注三类事件军事政变 (military coups)规避任期限制 (term-limit evasions)削弱司法独立 (weakening of the judiciary)。作者使用的文本数据来自 Factiva 和 LexisNexis包含 1989 年以来的 600 多万篇新闻文章来源包括New York Times、The Economist、Associated Press、BBC Monitor 和 LatinNews 等。论文使用的是新闻标题而不是全文。这样做有一个好处标题通常浓缩了新闻事件的核心内容噪声比全文更少也更适合跨来源比较。方法流程可以概括为六步。Step 1: 收集已有事件数据作者先从已有数据库和文献中整理军事政变、规避任期限制和司法削弱事件形成初始标签数据。Step 2: 准备事件原型标题对每类事件作者准备一组代表性标题。例如对于政变事件原型标题可以包含「军方接管政府」「军队扣押总统」「武装部队宣布成立过渡委员会」等表达。Step 3: 将新闻标题和原型标题转化为语义向量论文使用all-MiniLM-L6-v2这类 sentence transformer 模型把每条新闻标题映射为一个 384 维向量。Step 4: 计算语义相似度对每条新闻标题计算它与各类事件原型标题之间的相似度。相似度越高说明该标题越接近某类制度冲击。Step 5: 聚合到国家-月份层面单条新闻不是最终变量。作者将标题层面的相似度信号聚合到国家-月份层面用于识别某国某月是否发生制度冲击。Step 6: 模型初筛 人工核验模型提出候选事件后研究者进行人工核验并更新 ground truth。这里的关键不是让 AI 直接决定事件是否发生而是让 AI 缩小候选空间。核心相似度可以用余弦相似度表示sim(u,v)u⋅v∣u∣∣v∣sim(u,v)∣u∣∣v∣u⋅v其中uu 表示新闻标题的语义向量vv 表示事件原型标题的语义向量。sim(u,v)sim(u,v) 越高说明这条新闻标题越接近某类事件。这套方法的基本逻辑是先定义「我要找什么事件」再准备一批典型表达然后让模型在海量文本中寻找语义上相近的文本。最后研究者再对高分文本进行人工核验。4. 流程AI 初筛 人工核验这篇论文最值得学习的地方不是用了某个特定模型而是它对 AI 角色的安排很稳妥。作者并没有让模型直接给出最终事件数据库而是采用「模型初筛 人工核验」的流程。模型负责从几百万条新闻标题中提出高相似度候选人工负责判断这些候选是否真的构成制度冲击。这对正式研究尤其重要。因为审稿人通常不会接受一句笼统的表述「本文使用 AI 识别政策冲击」。审稿人真正关心的是事件定义是什么模型输入是什么语义相似度如何计算阈值如何确定高分样本是否人工核验误判如何处理原始证据是否可追溯因此在正式研究中语义相似度最适合作为筛选器而不是最终裁判。它的任务是提高召回率帮助研究者把可能相关的文本找出来。最后进入论文的数据应当是经过规则定义和人工核验的事件变量。例如研究者想研究「环保督察对企业绿色创新的影响」。可以先从新闻和政府公告中抓取所有与环保督察、整改、通报、问责相关的文本再用语义相似度判断哪些文本更接近「督察进驻」「整改要求」「处罚问责」等事件原型。随后人工核验高分样本确定城市-月份层面的事件日期。类似方法也可用于识别金融监管处罚事件产业基金设立事件地方试点政策启动事件行政审批改革事件反腐问责事件数据要素、人工智能、新能源等专项政策企业受到监管调查或处罚的事件。这类应用的共同点是事件留下了文本痕迹但没有现成的结构化数据库。5. 从制度冲击到政策冲击如何迁移Mayoral et al. (2026) 研究的是制度冲击但方法可以迁移到政策冲击研究。迁移时不需要照搬原文的政治事件设定而应重写事件定义。5.1 明确事件边界不要让 AI 泛泛寻找「重要政策」。研究者要先定义清楚事件类型。例如地方政府发布机器人产业专项扶持政策证监会对上市公司出具行政处罚决定环保督察组进驻某城市某类企业被纳入监管试点某省出台数据要素市场化配置方案。事件边界越清楚后续的原型文本、相似度计算和人工核验才越有依据。5.2 准备事件原型文本每类事件建议准备 30-50 条典型表达。原型文本可以来自真实公告也可以由研究者根据政策文件规则生成后人工审校。重点不是堆关键词而是覆盖不同表达方式。例如要识别「机器人产业扶持政策」原型文本可以包括某市发布机器人产业高质量发展行动方案某地设立智能装备产业专项资金某省支持工业机器人企业开展首台套应用某区鼓励机器人企业建设创新平台某地对机器人产业链重点企业给予融资支持。这些句子不必完全相同但应当围绕同一类事件。5.3 建立候选文本库并人工核验候选文本库可以来自新闻标题、政府公告、监管文件、公司公告或政策网站。每条文本至少保留标题、发布日期、来源、地区或企业名称、URL。计算相似度后可以将高分文本导出为 Excel 或 CSV人工判断是否构成目标事件。正式研究中最好保存以下字段原始标题或文本摘要发布日期来源机构地区、企业或行业标识原文链接相似度分数人工核验标签人工备注。这个流程的核心不是「AI 替代研究者」而是让研究者更系统地找到事件证据。上图中的闭环很重要。事件定义并不是一次性完成的。研究者在人工核验中会发现一些误判和漏判再反过来修改事件定义、补充原型文本、调整阈值规则。经过几轮迭代后事件库才会逐渐稳定。6. 如何上手一个 Python 示例原文使用的是大型新闻语料主要来自 Factiva 和 LexisNexis二者都是收费的商业数据库。对于普通读者而言可以尝试使用公开新闻接口或政府网站文本来复刻原文的核心思路而不必完整复现原文的结果。下面给出一个基本示例。目标是从近期英文新闻标题中寻找与「产业政策」相关的候选事件。这个例子使用gdeltdoc抓取 GDELT 新闻标题用sentence-transformers生成语义向量再计算新闻标题与原型标题之间的相似度。温馨提示若页面不能正常显示数学公式和代码请阅读原文获得更好的阅读体验。