• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

Sentence Transformers

date: 2022-06-19 excerpt: Sentence Transformersの使い方

tag: 機械学習Sentence TransformersBERT


Sentence Transformersの使い方

概要

  • (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

  • sentence transformers

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

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

Google Colab

  • sentence transformers japanese

参考

  • SentenceTransformers Documentation
  • 【日本語モデル付き】2020年に自然言語処理をする人にお勧めしたい文ベクトルモデル


機械学習Sentence TransformersBERT Share Tweet