🚀 跨英语和德语的RoBERTa句子嵌入模型
本模型旨在为英语和德语文本计算句子(文本)嵌入。这些嵌入可以通过余弦相似度进行比较,以找出语义相近的句子。例如,这在语义文本相似度、语义搜索或释义挖掘等任务中非常有用。要使用此模型,你需要借助Sentence Transformers Python框架。
该模型的特别之处在于它支持跨语言使用。无论输入的是何种语言,句子都会根据其语义被转换为非常相似的向量。这意味着,例如,你可以用德语进行搜索,然后根据语义找到德语和英语的相关结果。通过使用xlm模型和“跨语言多语言微调”,我们取得了甚至超过当前最佳英语大型模型的性能(详见下面的评估部分)。
Sentence-BERT(SBERT)是对预训练的BERT网络的改进,它使用孪生网络和三元组网络结构来导出语义上有意义的句子嵌入,这些嵌入可以使用余弦相似度进行比较。这将寻找最相似句子对的时间从使用BERT / RoBERTa时的65小时减少到使用SBERT时的约5秒,同时保持了BERT的准确性。
来源:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
此模型由Philip May进行微调,并由T-Systems-onsite开源。特别感谢Nils Reimers的优秀开源工作,包括Sentence Transformers、相关模型以及在GitHub上提供的帮助。
🚀 快速开始
要使用此模型,你需要安装sentence-transformers
包(详见:https://github.com/UKPLab/sentence-transformers)。
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('T-Systems-onsite/cross-en-de-roberta-sentence-transformer')
有关使用细节和示例,请参考以下链接:
✨ 主要特性
- 跨语言支持:能够处理英语和德语文本,并进行跨语言的语义匹配。
- 性能优越:通过“跨语言多语言微调”,在英语和德语任务上取得了出色的性能。
📦 安装指南
安装sentence-transformers
包:
pip install sentence-transformers
💻 使用示例
基础用法
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('T-Systems-onsite/cross-en-de-roberta-sentence-transformer')
高级用法
你可以参考以下链接获取更多高级使用场景:
📚 详细文档
训练过程
评估
评估是在英语、德语以及两种语言交叉的STSbenchmark测试数据上进行的。评估代码可在Colab上获取。我们使用句子嵌入的余弦相似度与STSbenchmark标签之间的Spearman等级相关性作为评估指标。
🔧 技术细节
- 模型架构:基于xlm-roberta-base进行微调。
- 训练数据:使用了STSbenchmark数据集,包括英语、德语及其交叉的样本。
- 超参数搜索:使用Optuna进行了33次自动超参数搜索。
- 评估指标:使用Spearman等级相关性作为评估指标。
📄 许可证
版权所有 (c) 2020 Philip May,T-Systems on site services GmbH
本项目采用MIT许可证(“许可证”);除非符合许可证要求,否则不得使用本作品。你可以通过查看仓库中的LICENSE文件获取许可证副本。