多语言句子相似性和语义聚类的高效工具
paraphrase-multilingual-MiniLM-L12-v2模型是sentence-transformers框架的一部分,能够将句子转换为384维的密集向量。该模型支持多语言功能,适合进行句子聚类和语义搜索,并能通过HuggingFace Transformers应用。在此模型的优化下,您可在多语言环境(如法语、葡萄牙语、中文)中高效实现句子相似性比较和特征提取,并利用其简便的安装和使用过程提升操作效率。
paraphrase-multilingual-MiniLM-L12-v2 是一个由 sentence-transformers 提供的模型。这个模型可以将句子和段落转换为384维的密集向量空间,常用于任务如文本聚类或语义搜索。
该模型支持多种语言,包括英语、西班牙语、法语、德语、中文、阿拉伯语以及其他几十种语言。这意味着它能够处理来自不同语言的文本,并进行跨语言的转化和比较。
使用这个模型非常简单,只需要安装 sentence-transformers
库:
pip install -U sentence-transformers
安装完成后,可以按照以下代码示例使用模型:
from sentence_transformers import SentenceTransformer sentences = ["This is an example sentence", "Each sentence is converted"] model = SentenceTransformer('sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2') embeddings = model.encode(sentences) print(embeddings)
如果不使用 sentence-transformers
库,也可以采用 HuggingFace Transformers
库来调用该模型。下面是一个使用该库的简单例子:
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 = ['This is an example sentence', 'Each sentence is converted'] # 加载模型 tokenizer = AutoTokenizer.from_pretrained('sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2') model = AutoModel.from_pretrained('sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2') # 对句子进行编码 encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt') # 计算token embeddings with torch.no_grad(): model_output = model(**encoded_input) # 执行均值池化 sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask']) print("Sentence embeddings:") print(sentence_embeddings)
对于该模型的自动化评估,请参考 Sentence Embeddings Benchmark:https://seb.sbert.net
该模型的完整架构包括一个Transformer和一个用于池化的层。Transformer可以处理长度最长为128的序列,而池化层则负责获取句子级别的嵌入:
SentenceTransformer(
(0): Transformer({'max_seq_length': 128, 'do_lower_case': False}) with Transformer model: BertModel
(1): Pooling({'word_embedding_dimension': 384, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False})
)
该模型由 sentence-transformers 团队训练开发。如果觉得该模型对你的研究或应用有帮助,请引用他们的论文 Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks:
@inproceedings{reimers-2019-sentence-bert, title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks", author = "Reimers, Nils and Gurevych, Iryna", booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing", month = "11", year = "2019", publisher = "Association for Computational Linguistics", url = "http://arxiv.org/abs/1908.10084", }
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。