You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在OpenRefine中自动合并相似标题并重新聚类?

解决OpenRefine批量合并Fingerprint聚类的方法

针对你需要批量处理5000个聚类的需求,以下是几种无需手动逐个合并的方案:

1. 用内置GREL函数一键合并

这是最简单的方法,直接利用OpenRefine的内置函数自动将每个聚类组合并为组内最常见的取值:

  • 选中目标标题列,点击「编辑列」→「添加列基于此列」(建议先备份原列,避免直接修改出错)
  • 在公式框中输入:
    clusterMode(value, fingerprint(value))
    
  • 确认后,所有属于同一Fingerprint聚类的标题会自动合并为组内出现次数最多的那个值,无需手动处理每个聚类组。

2. 利用操作历史批量复用合并逻辑

如果已经手动完成过一次合并操作,可以通过复用操作历史批量处理所有聚类:

  1. 完成一次手动「Merge selected and re-cluster」后,点击顶部「项目」→「打开项目操作历史」
  2. 找到刚才的合并操作,点击「显示操作JSON」,复制对应的JSON代码
  3. 修改JSON中的聚类目标值和待合并值参数,将其改为遍历所有聚类的逻辑(可借助文本替换工具批量生成操作)
  4. 回到操作历史页面,点击「应用操作」,粘贴修改后的JSON即可批量执行。

3. 用Python脚本调用OpenRefine API自动化处理

如果需要更灵活的控制(比如自定义合并规则),可以通过API实现全自动化:

  1. 确保OpenRefine处于运行状态(默认端口3333)
  2. 编写Python脚本调用API获取聚类并执行合并:
    import requests
    
    # 配置参数
    REFINE_URL = "http://localhost:3333"
    PROJECT_ID = "你的项目ID"  # 项目ID可在OpenRefine页面URL中找到
    COLUMN_NAME = "标题"
    
    # 获取所有Fingerprint聚类数据
    cluster_data = requests.get(
        f"{REFINE_URL}/command/core/get-clusters",
        params={
            "project": PROJECT_ID,
            "columnName": COLUMN_NAME,
            "engine": '{"facets":[],"mode":"row-based"}'
        }
    ).json()
    
    # 遍历每个聚类组执行合并
    for cluster in cluster_data["clusters"]:
        # 选择组内出现次数最多的作为目标值
        target = max(cluster["members"], key=lambda x: x["c"])["v"]
        # 收集组内其他待合并的值
        merge_values = [m["v"] for m in cluster["members"] if m["v"] != target]
        if merge_values:
            requests.post(
                f"{REFINE_URL}/command/core/mark-duplicates",
                data={
                    "project": PROJECT_ID,
                    "columnName": COLUMN_NAME,
                    "matchType": "fingerprint",
                    "target": target,
                    "values": ",".join(merge_values)
                }
            )
    
  3. 运行脚本前,替换PROJECT_ID和COLUMN_NAME为你的实际信息,确保依赖的requests库已安装。

注意事项

  • 操作前务必备份原始数据集,避免误操作导致数据丢失
  • 建议先在小样本数据上测试方案,确认合并效果后再应用到全量5000条数据

内容的提问来源于stack exchange,提问作者Coding_Beginner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 14:05:23