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

Recibe las últimas noticias y actualizaciones sobre el mundo de IA directamente en tu bandeja de entrada.