语言:
- 多语言
- 阿拉伯语
- 保加利亚语
- 加泰罗尼亚语
- 捷克语
- 丹麦语
- 德语
- 希腊语
- 英语
- 西班牙语
- 爱沙尼亚语
- 波斯语
- 芬兰语
- 法语
- 加利西亚语
- 古吉拉特语
- 希伯来语
- 印地语
- 克罗地亚语
- 匈牙利语
- 亚美尼亚语
- 印尼语
- 意大利语
- 日语
- 格鲁吉亚语
- 韩语
- 库尔德语
- 立陶宛语
- 拉脱维亚语
- 马其顿语
- 蒙古语
- 马拉地语
- 马来语
- 缅甸语
- 挪威书面语
- 荷兰语
- 波兰语
- 葡萄牙语
- 罗马尼亚语
- 俄语
- 斯洛伐克语
- 斯洛文尼亚语
- 阿尔巴尼亚语
- 塞尔维亚语
- 瑞典语
- 泰语
- 土耳其语
- 乌克兰语
- 乌尔都语
- 越南语
许可证: apache-2.0
库名称: sentence-transformers
标签:
- sentence-transformers
- 特征提取
- 句子相似度
- transformers
语言BCP47代码:
- 加拿大法语
- 巴西葡萄牙语
- 简体中文
- 繁体中文
管道标签: 句子相似度
lang-uk/ukr-paraphrase-multilingual-mpnet-base
这是一个专为乌克兰语优化的sentence-transformers模型:它能将句子和段落映射到768维稠密向量空间,适用于聚类或语义搜索等任务。
该模型的微调基础是sentence-transformers/paraphrase-multilingual-mpnet-base-v2
。详见我们的论文《乌克兰语上下文嵌入:基于大语言模型的词义消歧方法》。
使用方法(Sentence-Transformers)
安装sentence-transformers后即可轻松使用:
pip install -U sentence-transformers
使用示例:
from sentence_transformers import SentenceTransformer
sentences = ["这是一个示例句子", "每个句子都会被转换"]
model = SentenceTransformer('lang-uk/ukr-paraphrase-multilingual-mpnet-base')
embeddings = model.encode(sentences)
print(embeddings)
使用方法(HuggingFace Transformers)
若不使用sentence-transformers,可按以下方式操作:首先通过transformer模型处理输入,然后对上下文词嵌入执行正确的池化操作。
from transformers import AutoTokenizer, AutoModel
import torch
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0]
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
sentences = ['这是一个示例句子', '每个句子都会被转换']
tokenizer = AutoTokenizer.from_pretrained('lang-uk/ukr-paraphrase-multilingual-mpnet-base')
model = AutoModel.from_pretrained('lang-uk/ukr-paraphrase-multilingual-mpnet-base')
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
with torch.no_grad():
model_output = model(**encoded_input)
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
print("句子嵌入向量:")
print(sentence_embeddings)
引用与作者
若本模型对您有帮助,请引用我们的论文《乌克兰语上下文嵌入:基于大语言模型的词义消歧方法》:
@inproceedings{laba-etal-2023-contextual,
title = "Contextual Embeddings for {U}krainian: A Large Language Model Approach to Word Sense Disambiguation",
author = "Laba, Yurii and
Mudryi, Volodymyr and
Chaplynskyi, Dmytro and
Romanyshyn, Mariana and
Dobosevych, Oles",
editor = "Romanyshyn, Mariana",
booktitle = "Proceedings of the Second Ukrainian Natural Language Processing Workshop (UNLP)",
month = may,
year = "2023",
address = "Dubrovnik, Croatia",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2023.unlp-1.2",
doi = "10.18653/v1/2023.unlp-1.2",
pages = "11--19",
abstract = "本研究提出了一种基于预训练大语言模型(LLM)无监督生成数据集进行监督微调的新方法,用于乌克兰语词义消歧(WSD)任务,以获得多义词更好的上下文嵌入。论文提出基于SUM词典生成乌克兰语WSD评估数据集的方法,开发了支持不同预测策略、LLM和池化策略的综合性框架,可生成多维度性能报告。我们的方法在预测同形异义词词义时达到77.9%的准确率。",
}
版权声明:尤里·拉巴、沃洛迪米尔·穆德里、德米特罗·查普林斯基、玛丽安娜·罗曼尼申、奥列斯·多博塞维奇,乌克兰天主教大学,lang-uk项目,2023年
原始微调模型由sentence-transformers训练。