본문 바로가기
자연어 처리

[딥러닝을 이용한 자연어 처리 입문] 센텐스버트

by 나연하야 2023. 5. 29.
  • 센텐스버트는 버트의 문장 임베딩의 성능을 우수하게 개선시킨 모델임
  • 센텐스버트가 학습되는 방법은 아래와 같음

 

▶ 문장 쌍 분류 태스크로 파인 튜닝

  • 두 개의 문장이 주이지면 entailment/contradiction/neutral 관계인지 맞추는 방식으로 학습

▶ 문장 쌍 회귀 태스크로 파인 튜닝

  • 두 개의 문장으로부터 의미적 유사성을 구하는 방식으로 학습

 

  • 실습
pip install sentence_transformers
from sentence_transformers import SentenceTransformer

import pandas as pd
df = pd.read_excel("/content/result.xlsx")
data = df.설명.to_list()

model = SentenceTransformer('distilbert-base-nli-mean-tokens')
encoded_data = model.encode(data)
print('임베딩 된 벡터 수 :', len(encoded_data))
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=20).fit(encoded_data)
print(kmeans.labels_)