🚀 {MODEL_NAME}
这是一个 LinkTransformer 模型。本质上,它是一个句子转换器模型,基于 sentence-transformers 模型,只是对其类进行了封装。该模型旨在通过 LinkTransformer 包实现快速便捷的记录链接(实体匹配),其任务包括聚类、去重、链接、聚合等。此外,它也可用于 sentence-transformers 框架内的任何句子相似度任务。它能将句子和段落映射到 768 维的密集向量空间,可用于聚类或语义搜索等任务。如果你想将此模型用于我们应用支持范围之外的任务,请查看 sentence-transformers 的文档。
该模型在 sentence-transformers/paraphrase-multilingual-mpnet-base-v2
模型的基础上进行了微调,预训练语言包括:德语、英语、中文、日语、印地语、阿拉伯语、孟加拉语、葡萄牙语、俄语、西班牙语、法语和韩语。
此模型使用 LinkTransformer 框架,在包含维基数据中公司别名的数据集上进行训练。训练了 70 个周期,其他默认参数可在仓库的 LinkTransformer 配置文件 LT_training_config.json
中找到。
🚀 快速开始
✨ 主要特性
📦 安装指南
若要使用此模型,需安装 LinkTransformer:
pip install -U linktransformer
💻 使用示例
基础用法
import linktransformer as lt
import pandas as pd
df1 = pd.read_csv("data/df1.csv")
df2 = pd.read_csv("data/df2.csv")
df_merged = lt.merge(df1, df2, on="CompanyName", how="inner")
高级用法
saved_model_path = train_model(
model_path="hiiamsid/sentence_similarity_spanish_es",
dataset_path=dataset_path,
left_col_names=["description47"],
right_col_names=['description48'],
left_id_name=['tariffcode47'],
right_id_name=['tariffcode48'],
log_wandb=False,
config_path=LINKAGE_CONFIG_PATH,
training_args={"num_epochs": 1}
)
🔧 技术细节
- 模型微调:在
sentence-transformers/paraphrase-multilingual-mpnet-base-v2
模型基础上微调。
- 训练数据:使用包含维基数据中公司别名的数据集。
- 训练框架:LinkTransformer 框架。
- 训练周期:70 个周期。
- 损失函数:SupCon 损失。
- 训练配置:可在仓库的
LT_training_config.json
文件中找到。
📚 详细文档
训练自己的 LinkTransformer 模型
任何句子转换器模型都可通过添加池化层作为骨干模型。HuggingFace 上的其他转换器模型也可通过指定 add_pooling_layer==True
选项使用。该模型使用 SupCon 损失进行训练,具体用法可在包文档中找到,训练配置可在仓库的 LT_training_config.json
文件中找到。若要复现训练过程,可下载该文件并在训练函数的 config_path
参数中指定路径,也可通过指定 training_args
参数覆盖配置。
评估结果
可使用 LinkTransformer 包的推理函数评估模型。包中提供了一些数据集供你尝试,我们计划在 Huggingface 和我们的网站(即将推出)上托管更多数据集。
📄 许可证
文档未提及许可证相关信息。
📚 引用与作者
@misc{arora2023linktransformer,
title={LinkTransformer: A Unified Package for Record Linkage with Transformer Language Models},
author={Abhishek Arora and Melissa Dell},
year={2023},
eprint={2309.00789},
archivePrefix={arXiv},
primaryClass={cs.CL}
}