如何快速上手multilingual_en_uk_pl_ru-openmind3分钟实现跨语言句子嵌入【免费下载链接】multilingual_en_uk_pl_ru-openmind项目地址: https://ai.gitcode.com/hf_mirrors/jeffding/multilingual_en_uk_pl_ru-openmindmultilingual_en_uk_pl_ru-openmind是一款基于sentence-transformers的多语言句子嵌入模型支持英语、俄语、乌克兰语和波兰语四种语言能将句子和段落映射到768维的稠密向量空间适用于聚类、语义搜索等任务。 为什么选择这款跨语言嵌入模型该模型是uaritm/multilingual_en_ru_uk的升级版专门优化了多语言分析能力。它采用XLMRobertaModel作为基础架构配合mean pooling策略1_Pooling/config.json能高效生成具有语义一致性的跨语言向量表示。✨ 核心优势多语言支持同时处理英语en、俄语ru、乌克兰语uk和波兰语pl轻量级部署无需复杂配置3分钟即可完成从安装到推理的全流程高兼容性支持HuggingFace Transformers和sentence-transformers两种调用方式NPU加速原生支持NPU硬件加速提升计算效率 快速开始3分钟实现跨语言嵌入1️⃣ 环境准备首先克隆项目仓库并安装依赖git clone https://gitcode.com/hf_mirrors/jeffding/multilingual_en_uk_pl_ru-openmind cd multilingual_en_uk_pl_ru-openmind pip install -r examples/requirements.txt依赖仅需transformers4.37.0examples/requirements.txt保持了环境的简洁性。2️⃣ 两种调用方式任选方式一使用sentence-transformers推荐新手from sentence_transformers import SentenceTransformer sentences [This is an example sentence, 每个句子都会被转换] model SentenceTransformer(multilingual_en_uk_pl_ru-openmind) embeddings model.encode(sentences) print(embeddings)方式二使用HuggingFace Transformersfrom openmind import AutoTokenizer, AutoModel import torch # Mean Pooling - 考虑注意力掩码的正确平均 def mean_pooling(model_output, attention_mask): token_embeddings model_output[0] # model_output的第一个元素包含所有标记嵌入 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), min1e-9) # 要生成嵌入的句子 sentences [This is an example sentence, Кожне речення перетворюється] # 加载模型和分词器 tokenizer AutoTokenizer.from_pretrained(./) model AutoModel.from_pretrained(./) # 句子分词 encoded_input tokenizer(sentences, paddingTrue, truncationTrue, return_tensorspt) # 计算标记嵌入 with torch.no_grad(): model_output model(**encoded_input) # 执行池化操作此处使用均值池化 sentence_embeddings mean_pooling(model_output, encoded_input[attention_mask]) print(句子嵌入结果:) print(sentence_embeddings)3️⃣ 运行示例代码项目提供了完整的推理示例examples/inference.py可直接运行python examples/inference.py运行后将输出句子的768维向量表示这些向量可以用于后续的语义相似度计算、聚类分析等任务。 模型架构解析该模型采用SentenceTransformer架构由两部分组成Transformer层使用XLMRobertaModel作为基础模型最大序列长度为128sentence_bert_config.json池化层采用均值池化mean pooling策略将词嵌入转换为句子嵌入1_Pooling/config.json完整架构定义如下SentenceTransformer( (0): Transformer({max_seq_length: 128, do_lower_case: False}) with Transformer model: XLMRobertaModel (1): Pooling({word_embedding_dimension: 768, pooling_mode_cls_token: False, pooling_mode_mean_tokens: True, pooling_mode_max_tokens: False, pooling_mode_mean_sqrt_len_tokens: False}) ) 实际应用场景multilingual_en_uk_pl_ru-openmind模型已被成功应用于多语言患者投诉分析自动确定患者投诉所需的医生专业Virtual General Practice跨语言语义搜索在多语言文档集中查找语义相似的内容多语言文本聚类将不同语言的相似主题文本自动分组跨语言迁移学习作为预训练模型提升下游多语言任务性能️ 高级配置模型支持通过配置文件自定义多种参数分词器配置tokenizer_config.json特殊标记映射special_tokens_map.json模型参数配置config.json如需调整推理设备可在代码中设置# 自动检测NPU设备 if is_torch_npu_available(): device npu:0 else: device cpu model.to(device) 许可证信息本项目采用Apache-2.0许可证license: apache-2.0允许商业和非商业用途详情请参见项目根目录下的LICENSE文件。 引用与致谢如果您在研究中使用了本模型请引用misc{Uaritm, title{sentence-transformers: Semantic similarity of medical texts}, author{Vitaliy Ostashko}, year{2023}, url{https://aihealth.site}, }该模型基于Helsinki-NLP/tatoeba_mt数据集训练采用MSE损失函数优化经过4个epochs训练完成Training参数。【免费下载链接】multilingual_en_uk_pl_ru-openmind项目地址: https://ai.gitcode.com/hf_mirrors/jeffding/multilingual_en_uk_pl_ru-openmind创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考