发表于 JMLR · 2026 · 27(229)

COAT / 因果表征助手

从非结构化数据中,
发现分析变量。

你有评论和评分,或影像和诊断。COAT 帮你确定还应测量哪些属性,让分析不再局限于表中已有的变量。

语言模型提出并测量候选因子,统计反馈指导后续发现、因果结构分析与效应估计。

Python 包提供文本发现接口;论文还研究了图像和借助工具完成的测量。

一条评论,三个可测量属性
“入口很甜,果香浓郁,
只是个头偏小。”

定义每个属性,再把同一套规则应用到每条评论。

甜度很甜
香气浓郁
大小小
示意类别。下方例子继续说明如何编码成数值。

测量示例

把原始观测,
整理为因子取值。

因子是有定义和测量规则的属性。这里把甜度分为三档:0 表示不甜,1 表示微甜,2 表示很甜。每条评论按同一套规则赋值。

预置教学示例

原始观测

配对评分:5/5
打开盒子就闻到浓郁的果香,入口很甜,只是个头偏小,适合放进饭盒。

测量规则

甜度

2

评论中明确描述的甜度。

0
明确描述不甜
1
微甜
2
很甜

高亮片段支持按所示规则赋予这一档取值。

查看测量表

点选取值,查看对应的观测和规则。 试着选择 R03,再点“香气”:评论没有描述香气,因此记为缺失,而不是零。

同一套规则应用到多条观测,就得到一列变量。
样本甜度香气大小
R01
R02
R03

原始观测

配对目标:诊断类别
影像裁切自论文。框选与赋值是教学提示,不是分割、自动定位或临床标注。

测量规则

局部亮度

1

在指定观察区域内定义的视觉属性。

0
没有明显局部亮区
1
标记了局部亮区

影像裁切自论文。框选与赋值是教学提示,不是分割、自动定位或临床标注。

查看测量表

点选取值,查看对应的观测和规则。

同一套规则应用到多条观测,就得到一列变量。
样本局部亮度形态差异
M01
M02

原始观测

虚构教学新闻,不是真实报道
公司宣布推出新的云端技术平台,并介绍研发团队的工作。

测量规则

技术进展

1

区分常规维护与新的技术进展。

0
常规维护
1
新技术或技术突破

高亮片段支持按所示规则赋予这一档取值。

查看测量表

点选取值,查看对应的观测和规则。

同一套规则应用到多条观测,就得到一列变量。
样本技术进展市场拓展
N01
N02

工具测量的因子要说明:去哪里、读什么、怎样汇总。代码规定测量方式,不是让模型猜一个气温值。

物理量
近地面气温
区域
Niño3 · 5°S–5°N,150°W–90°W

测量定义 / Python 示意

field = archive["air_temperature"].sel(
    latitude=slice(-5, 5),
    longitude=slice(210, 270),
)
factor = field.mean(("latitude", "longitude"))
热带太平洋 Niño3 区域示意;Natural Earth 底图不含气候观测。Niño3
热带太平洋 Niño3 区域示意;Natural Earth 底图不含气候观测。
每个月得到一个数值 / °C
1月2月3月4月5月6月
26.827.227.928.227.727.4

数值为预置教学材料,不是实时再分析结果。代码是测量示意,不是 coatlearn 数据库接口;实际测量需要对应数据产品的权重与质量控制。

教学表用选中的档位说明数值编码。包中的 score 取各档概率对声明数值的加权平均;概率与置信度单独保存。

样本与取值均为预置教学材料。文字高亮与影像框是手工设置的观察提示,不是本包返回的依据。网页不运行模型。 论文探索文本、图像和工具测量。现成 Python 发现接口读取文本列;影像与气候演示说明的是更广的研究框架。

工作原理

根据统计反馈,
继续提出因子。

知道一个因子怎么测量,还不能回答缺少哪些因子。COAT 将模型提出的候选与统计分析连接成反馈循环。

  1. 01

    提出

    聊天模型阅读选中的观测,定义候选因子。

  2. 02

    测量

    标注模型对每条观测应用同一份定义。

  3. 03

    分析

    条件独立性检验考察:考虑其他变量后,还剩下哪些信息。

  4. 04

    反馈

    根据统计结果,让下一轮提议关注现有因子尚未解释的信息。

模型理解资料并测量。统计方法在相应假设下分析结构。

查看论文中的框架图
论文框架图:因子提议、逐条标注、统计因果发现与反馈。

分析目标

根据研究问题,
选择所需的结果。

这是不同的分析目标。能够预测结果的变量不一定是原因;观察到的关联也不等于采取行动的效应。

COAT-MB

哪些属性共同提供了评分的信息?

马尔可夫毯

给定这组变量后,其他候选不再提供关于目标的额外信息。适合后续预测与调查,其中也可能包含目标的结果,而不只有原因。

输入
一个数值目标 + 配对文本。
输出
因子定义与选中的变量集合。
查看输入与 Python 接口
COAT-PAG

这些变量之间是什么结构?

部分祖先图

表示具有相同条件独立性关系的一组候选结构。补充因子可以细化边端点,圆圈保留尚不能确定的方向。

输入
已有数值变量 + 配对文本。
输出
扩充的变量集合与 PAG。
查看输入与 Python 接口
COAT-ADJ

一项行动会使结果平均改变多少?

调整集与效应估计

寻找在图与假设下可用于协变量调整的变量组合,再通过逆概率加权估计平均处理效应。

输入
0/1 处理、数值结果 + 配对文本。
输出
图、调整集,以及条件支持时的逐集估计。
查看输入与 Python 接口

已经知道因子定义,可以直接标注。已有测量表和图,也可以不再调用模型,单独分析。

标注已有因子分析已有图

开始使用

从 1000 条苹果评论中,
发现关于评分的因子。

所附 MB 任务读取 Score 和 Review,允许五轮发现,并保存因子定义与所选集合。先查看本地配置,再决定是否执行。

准备分析环境

使用 Python 3.11 或更新版本,从 PyPI 安装。安装指南会准备只含配置和数据的小型示例目录;使用托管模型不需要克隆仓库或本地 GPU。

安装与配置准备

1. 安装 coatlearn

python -m pip install coatlearn
python -m coatlearn --help

安装不启动模型。先按安装指南把 config/ 与 data/ 下载到 coat-example;执行前不加 --run 查看 MB 任务。

在准备好的 coat-example 目录执行。命令用 DeepSeek Flash 提出因子,用托管 Jev 标注并检查定义。先准备 DEEPSEEK_API_KEY 与 TYPESAFE_API_KEY。文本会发送给这些服务,也可能产生费用;本地 Kev 是另一种选择。

准备模型凭据

2. 连接模型并执行

python -m coatlearn mb --config config/mb.toml --decision-model jev \
  --run --output-dir runs/apple-mb

3. 读取选中的变量

import json
from pathlib import Path

result = json.loads(
    Path("runs/apple-mb/result.json").read_text()
)
print(result["diagnostics"]["final_blanket"])

列表也包含目标 Score。因子定义、设置与研究假设随结果一起保存。

跟随完整教程

MB 与 PAG 共用 1000 条合成苹果评论。ADJ 使用 2000 条合成顾客帖子,采用邮件与访问存在混杂的研究设置,不是原始随机化 Hillstrom 实验。

已在 PyPI 发布,包名为 coatlearn。软件采用 Apache-2.0;两份示例 CSV 采用 CC BY 4.0,使用时保留署名。 源码仓库

研究案例

气候区域测量,
与新闻因子分析。

论文探索新增测量因子如何让研究问题更具体。这些案例需要各自的领域设置,不是本包的一键演示。

气候 / ENSO

哪些因素与下一月海温变化有关?

借助工具的模型在 NOAA 再分析数据中定义区域测量。研究得到 13 个因子,找回与文献一致的联系,并提出土壤温度相关的待检验假说。

查看已发表的图
论文 ENSO 图,包含 13 个气候因子与海温变化目标。
阅读 JMLR 正式论文

新闻 / 微软

新闻中的哪些方面提供未来收益信息?

研究分别测量创新、产品、法律与战略信息,用前 200 个交易日发现因子,再在后续 400 日评估基于因子的策略。结论限于这段历史中的单只股票。

查看已发表的图
论文新闻图,包含四个新闻因子与收益率。
阅读 JMLR 正式论文

因果结论依赖测量、数据与方法假设。执行完成不代表假设已被证实;没有估计值也不等于零效应。

已发表的研究

Discovering and Reasoning of Causality in the Hidden World with Large Language Models

Chenxi Liu · Yongqiang Chen · Tongliang Liu · Mingming Gong · James Cheng · Bo Han · Kun Zhang

Chenxi Liu 与 Yongqiang Chen 共同第一作者。通讯作者:Bo Han。

Journal of Machine Learning Research
27(229):1–95, 2026

期刊版在 NeurIPS 2024 框架上增加 COAT-PAG、COAT-ADJ 及其可识别性分析。

引用 / JMLR 官方 BibTeX
.bib
@article{JMLR:v27:25-2137,
  author  = {Chenxi Liu and Yongqiang Chen and Tongliang Liu and Mingming Gong and James Cheng and Bo Han and Kun Zhang},
  title   = {Discovering and Reasoning of Causality in the Hidden World with Large Language Models},
  journal = {Journal of Machine Learning Research},
  year    = {2026},
  volume  = {27},
  number  = {229},
  pages   = {1--95},
  url     = {http://jmlr.org/papers/v27/25-2137.html}
}