🚀 {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}
}