Sentence Transformers

Sentence Transformersの使い方

タグ Sentence Transformers BERT


概要

  • (BERTなどで)文章をベクトル化する
  • 各種言語でのプリトレンドモデルが公開されており、日本語のモデルもある

プリトレンドモデルの使用例

sbert.netのモデルの使用例

from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np

model = SentenceTransformer('all-mpnet-base-v2')

sentences = ['逃げちゃダメだ',
    '笑えばいいと思うよ',
    '僕は、エヴァンゲリオン初号機のパイロット、碇シンジです!',
    "あたし、にんにくラーメン、チャーシュー抜き", 
    "チャーシューラーメン大好き!"]

embeddings = model.encode(sentences)
score = cosine_similarity(embeddings) # 文章の類似度の計算

Google Colab

日本語のモデルを使用するとき

  • sbert.netの多言語モデルを用いるか、日本語で学習したモデルを用いる

Google Colab

参考