🚀 SHerbert large - ポーランド語SentenceBERT
SentenceBERTは、事前学習されたBERTネットワークを変更したもので、シアメーザネットワークとトリプレットネットワーク構造を使用して、意味的に意味のある文埋め込みを導出し、コサイン類似度を使用して比較することができます。学習は、元の論文 Siamese BERT models for the task of semantic textual similarity (STS) に基づいて行われ、学習データの使用方法に若干の変更が加えられています。このモデルの目標は、与えられたテキストの意味とトピックの類似性に基づいて異なる埋め込みを生成することです。
意味的な文章の類似性は、2つの文章がどれだけ類似しているかを分析します。
モデルの作成方法の詳細については、ブログ記事 をご覧ください。
基本的な学習済みモデルはポーランド語のHerBERTです。HerBERTは、BERTベースの言語モデルです。詳細については、「HerBERT: Efficiently Pretrained Transformer-based Language Model for Polish」を参照してください。
🚀 クイックスタート
SentenceBERTは、事前学習されたBERTネットワークを改良したもので、シアメーザとトリプレットネットワーク構造を用いて、意味的に意味のある文埋め込みを導出し、コサイン類似度で比較することができます。
✨ 主な機能
- シアメーザとトリプレットネットワーク構造を使用して、意味的に意味のある文埋め込みを導出。
- コサイン類似度を使用して文の類似性を比較。
- 与えられたテキストの意味とトピックの類似性に基づいて異なる埋め込みを生成。
📦 インストール
このセクションでは、具体的なインストール手順が提供されていないため、省略します。
💻 使用例
基本的な使用法
from transformers import AutoTokenizer, AutoModel
from sklearn.metrics import pairwise
sbert = AutoModel.from_pretrained("Voicelab/sbert-large-cased-pl")
tokenizer = AutoTokenizer.from_pretrained("Voicelab/sbert-large-cased-pl")
s0 = "Uczenie maszynowe jest konsekwencją rozwoju idei sztucznej inteligencji i metod jej wdrażania praktycznego."
s1 = "Głębokie uczenie maszynowe jest sktukiem wdrażania praktycznego metod sztucznej inteligencji oraz jej rozwoju."
s2 = "Kasparow zarzucił firmie IBM oszustwo, kiedy odmówiła mu dostępu do historii wcześniejszych gier Deep Blue. "
tokens = tokenizer([s0, s1, s2],
padding=True,
truncation=True,
return_tensors='pt')
x = sbert(tokens["input_ids"],
tokens["attention_mask"]).pooler_output
print(pairwise.cosine_similarity(x[0], x[1]))
print(pairwise.cosine_similarity(x[0], x[2]))
📚 ドキュメント
コーパス
このモデルは、Wikipedia のみを使用して学習されました。
トークナイザー
元のHerBERTの実装と同様に、学習データセットは、語彙サイズが50kトークンの文字レベルのバイトペアエンコーディング (CharBPETokenizer) を使用してサブワードにトークナイズされました。トークナイザー自体は、tokenizersライブラリを使用して学習されました。
HerbertTokenizerFastという高速版のトークナイザーの使用をお勧めします。
結果
モデル名 |
精度 |
ソース |
SBERT - WikiSec - base (EN) |
80.42% |
https://arxiv.org/abs/1908.10084 |
SBERT - WikiSec - large (EN) |
80.78% |
https://arxiv.org/abs/1908.10084 |
sbert - base - cased - pl |
82.31% |
https://huggingface.co/Voicelab/sbert-base-cased-pl |
sbert - large - cased - pl |
84.42% |
https://huggingface.co/Voicelab/sbert-large-cased-pl |
🔧 技術詳細
SentenceBERTは、事前学習されたBERTネットワークを変更したもので、シアメーザネットワークとトリプレットネットワーク構造を使用して、意味的に意味のある文埋め込みを導出します。学習は、元の論文 Siamese BERT models for the task of semantic textual similarity (STS) に基づいて行われ、学習データの使用方法に若干の変更が加えられています。
📄 ライセンス
CC BY 4.0
📚 引用
このモデルを使用する場合は、以下の論文を引用してください。
👥 作者
このモデルは、Voicelab.aiのNLP研究チームによって学習されました。
こちら からお問い合わせいただけます。