🚀 distilbert-zwnj-wnli-mean-tokens
による文章埋め込み
このモデルは、文章の類似度を計算するための文章埋め込みを生成します。sentence-transformers
またはHuggingFace Transformers
を使用して簡単に利用できます。
🚀 クイックスタート
📦 インストール
sentence-transformers
を使用する場合は、まずインストールする必要があります。
pip install -U sentence-transformers
💻 使用例
基本的な使用法
sentence-transformers
を使用した基本的な使用例です。
from sentence_transformers import SentenceTransformer
sentences = [
'اولین حکمران شهر بابل کی بود؟',
'در فصل زمستان چه اتفاقی افتاد؟',
'میراث کوروش'
]
model = SentenceTransformer('m3hrdadfi/distilbert-zwnj-wnli-mean-tokens')
embeddings = model.encode(sentences)
print(embeddings)
高度な使用法
HuggingFace Transformers
を直接使用する場合の例です。
from transformers import AutoTokenizer, AutoModel
import torch
def max_pooling(model_output, attention_mask):
token_embeddings = model_output[0]
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
token_embeddings[input_mask_expanded == 0] = -1e9
return torch.mean(token_embeddings, 1)[0]
sentences = [
'اولین حکمران شهر بابل کی بود؟',
'در فصل زمستان چه اتفاقی افتاد؟',
'میراث کوروش'
]
tokenizer = AutoTokenizer.from_pretrained('m3hrdadfi/distilbert-zwnj-wnli-mean-tokens')
model = AutoModel.from_pretrained('m3hrdadfi/distilbert-zwnj-wnli-mean-tokens')
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
with torch.no_grad():
model_output = model(**encoded_input)
sentence_embeddings = max_pooling(model_output, encoded_input['attention_mask'])
print("Sentence embeddings:")
print(sentence_embeddings)
❓ 質問がある場合
質問がある場合は、こちらからGithubのissueを投稿してください。
📄 モデル情報
属性 |
详情 |
パイプラインタグ |
文章の類似度 |
タグ |
sentence-transformers、特徴抽出、文章の類似度、transformers |
ウィジェットのソース文章 |
"مردی در حال خوردن پاستا است." |
ウィジェットの比較文章 |
'مردی در حال خوردن خوراک است.'、'مردی در حال خوردن یک تکه نان است.'、'دختری بچه ای را حمل می کند.'、'یک مرد سوار بر اسب است.'、'زنی در حال نواختن پیانو است.'、'دو مرد گاری ها را به داخل جنگل هل دادند.'、'مردی در حال سواری بر اسب سفید در مزرعه است.'、'میمونی در حال نواختن طبل است.'、'یوزپلنگ به دنبال شکار خود در حال دویدن است.' |