🚀 IndicSBERT
IndicSBERT是一個基於MuRIL(google/muril-base-cased)模型,在十種主要印度語言的NLI數據集上訓練得到的模型。該單一模型可用於英語、印地語、馬拉地語、卡納達語、泰米爾語、泰盧固語、古吉拉特語、奧里亞語、旁遮普語、馬拉雅拉姆語和孟加拉語,並且具備跨語言處理能力。此模型是MahaNLP項目的一部分,項目鏈接:https://github.com/l3cube-pune/MarathiNLP 。
這裡還分享了一個更好的句子相似度模型(本模型的微調版本):https://huggingface.co/l3cube-pune/indic-sentence-similarity-sbert 。
有關數據集、模型和基線結果的更多詳細信息,請參閱我們的論文。
🚀 快速開始
模型信息
屬性 |
詳情 |
模型類型 |
用於句子相似度計算的多語言模型 |
訓練數據 |
十種主要印度語言的NLI數據集 |
支持語言 |
多語言(英語、印地語、馬拉地語、卡納達語、泰米爾語、泰盧固語、古吉拉特語、奧里亞語、旁遮普語、馬拉雅拉姆語和孟加拉語) |
示例展示
以下是一些使用示例:
- 單語 - 馬拉地語
- 源句子:दिवाळी आपण मोठ्या उत्साहाने साजरी करतो
- 對比句子:
- दिवाळी आपण आनंदाने साजरी करतो
- दिवाळी हा दिव्यांचा सण आहे
- 單語 - 印地語
- 源句子:हम दीपावली उत्साह के साथ मनाते हैं
- 對比句子:
- हम दीपावली खुशियों से मनाते हैं
- दिवाली रोशनी का त्योहार है
- 單語 - 古吉拉特語
- 源句子:અમે ઉત્સાહથી દિવાળી ઉજવીએ છીએ
- 對比句子:
- દિવાળી આપણે ખુશીઓથી ઉજવીએ છીએ
- દિવાળી એ રોશનીનો તહેવાર છે
- 跨語言 1
- 源句子:आम्हाला भारतीय असल्याचा अभिमान आहे
- 對比句子:
- हमें भारतीय होने पर गर्व है
- భారతీయులమైనందుకు గర్విస్తున్నాం
- અમને ભારતીય હોવાનો ગર્વ છે
- 跨語言 2
- 源句子:ਬਾਰਿਸ਼ ਤੋਂ ਬਾਅਦ ਬਗੀਚਾ ਸੁੰਦਰ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ
- 對比句子:
- മഴയ്ക്ക് ശേഷം പൂന്തോട്ടം മനോഹരമായി കാണപ്പെടുന്നു
- ବର୍ଷା ପରେ ବଗିଚା ସୁନ୍ଦର ଦେଖାଯାଏ |
- बारिश के बाद बगीचा सुंदर दिखता है
相關論文
其他相關模型
單語Indic句子BERT模型
單語相似度模型
引用信息
@article{deode2023l3cube,
title={L3Cube-IndicSBERT: A simple approach for learning cross-lingual sentence representations using multilingual BERT},
author={Deode, Samruddhi and Gadre, Janhavi and Kajale, Aditi and Joshi, Ananya and Joshi, Raviraj},
journal={arXiv preprint arXiv:2304.11434},
year={2023}
}
📦 安裝指南
若要使用此模型,需要安裝sentence-transformers:
pip install -U sentence-transformers
💻 使用示例
基礎用法(Sentence-Transformers)
當你安裝了sentence-transformers後,使用該模型會變得非常簡單。以下是使用示例:
from sentence_transformers import SentenceTransformer
sentences = ["This is an example sentence", "Each sentence is converted"]
model = SentenceTransformer('{MODEL_NAME}')
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 = ['This is an example sentence', 'Each sentence is converted']
tokenizer = AutoTokenizer.from_pretrained('{MODEL_NAME}')
model = AutoModel.from_pretrained('{MODEL_NAME}')
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("Sentence embeddings:")
print(sentence_embeddings)
📄 許可證
本模型採用CC BY 4.0許可證。