语言:
- 多语言
- 南非荷兰语
- 阿姆哈拉语
- 阿拉伯语
- 阿萨姆语
- 阿塞拜疆语
- 白俄罗斯语
- 保加利亚语
- 孟加拉语
- 布列塔尼语
- 波斯尼亚语
- 加泰罗尼亚语
- 捷克语
- 威尔士语
- 丹麦语
- 德语
- 希腊语
- 英语
- 世界语
- 西班牙语
- 爱沙尼亚语
- 巴斯克语
- 波斯语
- 芬兰语
- 法语
- 弗里斯兰语
- 爱尔兰语
- 苏格兰盖尔语
- 加利西亚语
- 古吉拉特语
- 豪萨语
- 希伯来语
- 印地语
- 克罗地亚语
- 匈牙利语
- 亚美尼亚语
- 印尼语
- 冰岛语
- 意大利语
- 日语
- 爪哇语
- 格鲁吉亚语
- 哈萨克语
- 高棉语
- 卡纳达语
- 韩语
- 库尔德语
- 吉尔吉斯语
- 拉丁语
- 老挝语
- 立陶宛语
- 拉脱维亚语
- 马尔加什语
- 马其顿语
- 马拉雅拉姆语
- 蒙古语
- 马拉地语
- 马来语
- 缅甸语
- 尼泊尔语
- 荷兰语
- 挪威语
- 奥罗莫语
- 奥里亚语
- 旁遮普语
- 波兰语
- 普什图语
- 葡萄牙语
- 罗马尼亚语
- 俄语
- 梵语
- 信德语
- 僧伽罗语
- 斯洛伐克语
- 斯洛文尼亚语
- 索马里语
- 阿尔巴尼亚语
- 塞尔维亚语
- 巽他语
- 瑞典语
- 斯瓦希里语
- 泰米尔语
- 泰卢固语
- 泰语
- 他加禄语
- 土耳其语
- 维吾尔语
- 乌克兰语
- 乌尔都语
- 乌兹别克语
- 越南语
- 科萨语
- 意第绪语
- 中文
管道标签: 句子相似度
多语言-e5-small-4096
intfloat/multilingual-e5-small的局部稀疏全局版本。它可以处理约4k个标记。
使用方法
以下是一个编码来自MS-MARCO段落排名数据集的查询和段落的示例。
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('efederici/multilingual-e5-small-4096', {"trust_remote_code": True})
input_texts = [
'查询: 女性应该摄入多少蛋白质',
'查询: 峰会定义',
"段落: 作为一般指导原则,美国疾病控制与预防中心对19至70岁女性的蛋白质平均需求量为每天46克。但是,从这张图表可以看出,如果你怀孕或正在为马拉松训练,你需要增加摄入量。查看下面的图表,了解每天应该摄入多少蛋白质。",
"段落: 英语学习者的峰会定义。: 1 山的最高点 : 山顶。: 2 最高级别。: 3 两个或多个政府领导人之间的会议或系列会议。"
]
embeddings = model.encode(input_texts, normalize_embeddings=True)
或者...
import torch.nn.functional as F
from torch import Tensor
from transformers import AutoTokenizer, AutoModel
def average_pool(
last_hidden_states: Tensor,
attention_mask: Tensor
) -> Tensor:
last_hidden = last_hidden_states.masked_fill(~attention_mask[..., None].bool(), 0.0)
return last_hidden.sum(dim=1) / attention_mask.sum(dim=1)[..., None]
input_texts = [
'查询: 女性应该摄入多少蛋白质',
'查询: 峰会定义',
"段落: 作为一般指导原则,美国疾病控制与预防中心对19至70岁女性的蛋白质平均需求量为每天46克。但是,从这张图表可以看出,如果你怀孕或正在为马拉松训练,你需要增加摄入量。查看下面的图表,了解每天应该摄入多少蛋白质。",
"段落: 英语学习者的峰会定义。: 1 山的最高点 : 山顶。: 2 最高级别。: 3 两个或多个政府领导人之间的会议或系列会议。"
]
tokenizer = AutoTokenizer.from_pretrained('efederici/multilingual-e5-small-4096')
model = AutoModel.from_pretrained('efederici/multilingual-e5-small-4096', trust_remote_code=True)
batch_dict = tokenizer(input_texts, max_length=4096, padding=True, truncation=True, return_tensors='pt')
outputs = model(**batch_dict)
embeddings = average_pool(outputs.last_hidden_state, batch_dict['attention_mask'])
embeddings = F.normalize(embeddings, p=2, dim=1)
scores = (embeddings[:2] @ embeddings[2:].T) * 100
print(scores.tolist())
@article{wang2022text,
title={文本嵌入通过弱监督对比预训练},
author={王亮 and 杨楠 and 黄小龙 and 焦彬鑫 and 杨林军 and 蒋大昕 and Majumder, Rangan and 韦福如},
journal={arXiv预印本 arXiv:2212.03533},
year={2022}
}