库名称: sentence-transformers
流水线标签: 句子相似度
标签:
- sentence-transformers
- 特征提取
- 句子相似度
- transformers
- 语义搜索
- 字符转换器
- 分层转换器
语言:
- 英语
- 古希腊语
许可证: MIT
shlm-grc-en
英语与古希腊语的句子嵌入
该模型为古希腊语和英语文本创建共享向量空间中的句子嵌入。
基础模型采用了改进版的HLM架构,该架构在《SIGTYP 2024共享任务:利用字符感知分层Transformer增强低资源语言分析》(arXiv)中有所描述。
此模型通过多语言知识蒸馏方法和数据集训练生成句子嵌入,相关方法在《基于多语言知识蒸馏的古希腊语句子嵌入模型》(arXiv)中详述。
该模型是从BAAI/bge-base-en-v1.5
蒸馏而来,用于生成英语和古希腊语文本的嵌入。
使用方法(Sentence-Transformers)
注意:当前模型与最新版sentence-transformers库不兼容。
目前,您可以直接使用HuggingFace Transformers(见下文)或以下sentence-transformers分支:
https://github.com/kevinkrahn/sentence-transformers
使用示例:
from sentence_transformers import SentenceTransformer
sentences = ["这是一个示例句子", "每个句子都会被转换"]
model = SentenceTransformer('kevinkrahn/shlm-grc-en')
embeddings = model.encode(sentences)
print(embeddings)
使用方法(HuggingFace Transformers)
若不使用sentence-transformers,可按以下方式操作:首先将输入传入transformer模型,然后对上下文词嵌入应用正确的池化操作。
from transformers import AutoTokenizer, AutoModel
import torch
def cls_pooling(model_output):
return model_output[0][:,0]
sentences = ['这是一个英语句子', 'Ὁ Παρθενών ἐστιν ἱερὸν καλὸν τῆς Ἀθήνης.']
model = AutoModel.from_pretrained('kevinkrahn/shlm-grc-en', trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained('kevinkrahn/shlm-grc-en', trust_remote_code=True)
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
with torch.no_grad():
model_output = model(**encoded_input)
sentence_embeddings = cls_pooling(model_output)
print("句子嵌入:")
print(sentence_embeddings)
引用与作者
若使用本模型,请引用以下论文:
@inproceedings{riemenschneider-krahn-2024-heidelberg,
title = "海德堡-波士顿@SIGTYP 2024共享任务:利用字符感知分层Transformer增强低资源语言分析",
author = "Riemenschneider, Frederick 和 Krahn, Kevin",
booktitle = "第六届计算语言类型学与多语言NLP研究研讨会论文集",
year = "2024",
pages = "131--141",
}
@inproceedings{krahn-etal-2023-sentence,
title = "基于多语言知识蒸馏的古希腊语句子嵌入模型",
author = "Krahn, Kevin 和 Tate, Derrick 和 Lamicela, Andrew C.",
booktitle = "古代语言处理研讨会论文集",
year = "2023",
pages = "13--22",
}