推荐开源项目:SCCL - 支持对比学习的聚类框架
2024-05-23 10:17:38作者:秋泉律Samson
在自然语言处理领域中,无监督聚类是一项基础且重要的任务,旨在发现数据的语义类别,而无需人工标注。然而,如何在表示空间中实现类别之间的良好分离,是此类方法面临的一大挑战。为此,我们向您推荐一个创新的开源项目——SCCL(Supporting Clustering with Contrastive Learning)。该项目由Zhang等人在NAACL 2021会议上提出,并已发布源代码供研究者和开发者使用。
项目介绍
SCCL是一个基于对比学习的聚类框架,它通过结合自底向上的实例区分与自顶向下的聚类策略,有效提升了不同类别间的距离,从而提高了聚类效果。该框架在多个基准短文本聚类任务上展示了显著的性能提升,对于Accuracy和Normalized Mutual Information(NMI)指标均有3%-11%和4%-15%的提高。
项目技术分析
SCCL的核心在于其创新性地利用了对比学习来促进类别之间的分离。通过虚拟或显式的数据增强,模型能更好地识别实例间的差异并进行有效的分类。对于没有额外数据增广的情况,SCCL还提供了"虚拟增强"模式,仅依赖原始数据就能实现对比学习的优势。
应用场景
SCCL适用于各类需要无监督文本聚类的场景,包括但不限于:
- 短文本数据分析,如社交媒体帖子、评论、搜索查询等。
- 智能信息检索系统,用于优化相似内容的分组。
- 自然语言理解的研究,以探索和定义文本的潜在结构。
项目特点
- 创新性: 结合对比学习和聚类,突破传统方法的局限。
- 高效性: 实现了对数据增广的灵活处理,无论是否有实际的增广数据。
- 易用性: 提供清晰的代码结构和说明文档,方便研究人员快速上手。
- 可扩展性: 可适应不同的预训练模型和数据集,有广泛的适用性。
- 出色的效果: 在多个公开基准上超越当前最佳结果。
为了使用SCCL,只需按照提供的main.py脚本设置相应参数,即可开始训练。项目已声明依赖库版本,确保了复现实验的一致性。
引用该项目,请按照以下Bibtex条目:
@inproceedings{zhang-etal-2021-supporting,
title = "支持对比学习的聚类",
author = "张,德娇 and
纳,丰 and
魏,小凯 and
李,尚文 and
朱,恒辉 and
麦基昂,凯瑟琳 and
南拉皮提,拉姆什 and
阿诺德,安德鲁·O. and
豪,冰",
booktitle = "北美计算语言学协会2021年会论文集:人类语言技术",
month = jun,
year = "2021",
address = "在线",
publisher = "计算语言学协会",
url = "https://aclanthology.org/2021.naacl-main.427",
doi = "10.18653/v1/2021.naacl-main.427",
pages = "5419--5430",
abstract = "无监督聚类旨在根据表示空间中的某种距离发现数据的语义类别。然而,在学习过程初期,不同的类别往往在表示空间中相互重叠,这对基于距离的聚类造成了重大挑战。为此,我们提出了支持对比学习的聚类(SCCL)框架,利用对比学习来促进更好的分离。我们在短文本聚类评估中展示了SCCL的性能,显示在大多数基准数据集上相比之前的方法有了3{\%}-11{\%}的Accuracy提升和4{\%}-15{\%}的NMI提升。此外,我们的定量分析证明,SCCL在使用真实类别标签评估时,擅长利用实例辨别和聚类的优点来改善类别内的和类别间距离。",
}
总结来说,SCCL为解决无监督文本聚类问题提供了一种新颖而强大的工具,无论是研究还是实际应用,都值得尝试。立即加入这个开源社区,共享对比学习带来的聚类新体验吧!
登录后查看全文
热门项目推荐
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C042
MiniMax-M2.1从多语言软件开发自动化到复杂多步骤办公流程执行,MiniMax-M2.1 助力开发者构建下一代自主应用——全程保持完全透明、可控且易于获取。Python00
kylin-wayland-compositorkylin-wayland-compositor或kylin-wlcom(以下简称kywc)是一个基于wlroots编写的wayland合成器。 目前积极开发中,并作为默认显示服务器随openKylin系统发布。 该项目使用开源协议GPL-1.0-or-later,项目中来源于其他开源项目的文件或代码片段遵守原开源协议要求。C01
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0121
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00
项目优选
收起
deepin linux kernel
C
26
10
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
435
3.3 K
Ascend Extension for PyTorch
Python
242
278
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
695
368
仓颉编译器源码及 cjdb 调试工具。
C++
138
869
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
19
暂无简介
Dart
696
163
React Native鸿蒙化仓库
JavaScript
270
328
仓颉编程语言运行时与标准库。
Cangjie
145
882