# Hugging FaceでのSentence Transformersの使用方法

`sentence-transformers` は、文、段落、画像の埋め込み（密集ベクトル表現）を計算するための簡単なメソッドを提供するライブラリです。テキストは、類似したテキストが近くなるようにベクトル空間に埋め込まれるため、セマンティック検索、クラスタリング、検索などのアプリケーションを可能にします。

## Hubでのsentence-transformersの探索

[モデルページ](https://huggingface.co/models?library=sentence-transformers&sort=downloads)の左側でフィルタリングを行うと、500以上の`sentence-transformer`モデルを見つけることができます。これらのモデルの多くは、埋め込みを生成するための[`feature-extraction`](https://huggingface.co/models?library=sentence-transformers&pipeline_tag=feature-extraction&sort=downloads)や、特定の文が他の文とどの程度類似しているかを判定するための[`sentence-similarity`](https://huggingface.co/models?library=sentence-transformers&pipeline_tag=sentence-similarity&sort=downloads)など、さまざまなタスクをサポートしています。公式の事前学習モデルの概要は、[公式ドキュメント](https://www.sbert.net/docs/pretrained_models.html)で確認できます。

Hub上のすべてのモデルには、以下の機能が備わっています:
1. 説明、コードの例、アーキテクチャの概要などが含まれる、自動生成されたモデルカード。
2. 検索可能性を高め、ライセンスなどの情報を含むメタデータタグ。
3. ブラウザ上でモデルを直接試すことができるインタラクティブなウィジェット。
4. 推論リクエストを行うことを可能にするInference Providersウィジェット。

## 既存のモデルを使用する

Hub上の事前学習済みモデルは、1行のコードで読み込むことができます

```py
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('model_name')
```

文をエンコードし、セマンティック検索のためにそれらの間の距離を計算する例を以下に示します。

```py
from sentence_transformers import SentenceTransformer, util
model = SentenceTransformer('multi-qa-MiniLM-L6-cos-v1')

query_embedding = model.encode('How big is London')
passage_embedding = model.encode(['London has 9,787,426 inhabitants at the 2011 census',
                                  'London is known for its financial district'])

print("Similarity:", util.dot_score(query_embedding, passage_embedding))
```

特定のモデルの読み込み方法を確認するには、`Use in sentence-transformers` をクリックしてください。動作するスニペットが表示され、モデルを読み込むことができます。

## モデルの共有

学習済みモデルの`save_to_hub`メソッドを使用して、Sentence Transformersを共有できます。

```py
from sentence_transformers import SentenceTransformer

# Load or train a model
model.save_to_hub("my_new_model")
```

このコマンドは、自動生成されたモデルカード、推論ウィジェット、サンプルコードスニペットなどを含むリポジトリを作成します。[こちら](https://huggingface.co/osanseviero/my_new_model)が例です。

## 追加のリソース

* Sentence Transformers[ライブラリ](https://github.com/UKPLab/sentence-transformers)。
* Sentence Transformersの[ドキュメント](https://www.sbert.net/)。
* Hub への統合 [アナウンス](https://huggingface.co/blog/sentence-transformers-in-the-hub)。

