TurkuNLP/sbert-uncased-finnish-paraphrase
TurkuNLP
Similitud de oraciones
Modelo BERT sin mayúsculas para oraciones en finlandés, entrenado a partir de FinBERT. Este modelo se utiliza para la identificación de oraciones parapráficas finlandesas. Una demostración sobre la recuperación de las oraciones más similares de un conjunto de datos de 400 millones de oraciones utilizando el modelo en mayúsculas se puede encontrar aquí.
Como usar
El uso es el mismo que en la documentación de HuggingFace. Puede usarlo a través de SentenceTransformer o HuggingFace Transformers.
from sentence_transformers import SentenceTransformer
sentences = ["Tämä on esimerkkilause.", "Tämä on toinen lause."]
model = SentenceTransformer('TurkuNLP/sbert-uncased-finnish-paraphrase')
embeddings = model.encode(sentences)
print(embeddings)
from transformers import AutoTokenizer, AutoModel
import torch
# Mean Pooling - Tener en cuenta la máscara de atención para un promedio correcto
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0] # El primer elemento de model_output contiene todas las incrustaciones de tokens
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
# Frases para las que queremos incrustaciones de oraciones
sentences = ["Tämä on esimerkkilause.", "Tämä on toinen lause."]
# Cargar modelo desde HuggingFace Hub
tokenizer = AutoTokenizer.from_pretrained('TurkuNLP/sbert-uncased-finnish-paraphrase')
model = AutoModel.from_pretrained('TurkuNLP/sbert-uncased-finnish-paraphrase')
# Tokenizar las frases
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
# Calcular las incrustaciones de tokens
with torch.no_grad():
model_output = model(**encoded_input)
# Realizar el pooling. En este caso, pooling medio.
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
print("Incrustaciones de oraciones:")
print(sentence_embeddings)
Funcionalidades
- Modelo BERT sin mayúsculas para oraciones en finlandés
- Entrenado a partir de FinBERT
- Utiliza el Corpus de Parafraseo Finlandés y candidatos de parafraseo recolectados automáticamente
- Tareas de predicción binaria para determinar si dos oraciones son paráfrasis o no
- Pooled Mean Method para extracción de características
Casos de uso
- Identificación de oraciones paráfrasis en finlandés
- Extracción de características para modelos de machine learning
- Análisis de similitud semántica entre oraciones en finlandés