🚀 跨英語和德語的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文件獲取許可證副本。