roberta-base-use-qa-theseus-bg

rmihaylov
Similitud de oraciones

Este es un modelo Multilingüe de Roberta. Puede ser utilizado para crear embeddings de oraciones en búlgaro. Utilizando las ideas de Sentence-BERT, el entrenamiento se basa en la idea de que una oración traducida debe ser mapeada a la misma ubicación en el espacio vectorial que la oración original. El modelo profesor es el modelo USE de Google. Este modelo está en mayúsculas y minúsculas, lo que significa que diferencia entre 'búlgaro' y 'Búlgaro'. Fue entrenado con datos paralelos privados en búlgaro-inglés y luego fue comprimido mediante el reemplazo progresivo de módulos.

Como usar

Aquí se muestra cómo usar este modelo en PyTorch:

import scipy
import torch
from transformers import AutoModel, AutoTokenizer

model = AutoModel.from_pretrained('rmihaylov/roberta-base-use-qa-theseus-bg')
tokenizer = AutoTokenizer.from_pretrained('rmihaylov/roberta-base-use-qa-theseus-bg')

query = "Какви са съставките на бисквитките?"

answers = [
    "Бисквитката е печена или варена храна, която обикновено е малка, плоска и сладка.",
    "Бисквитките обикновено съдържат брашно, захар и някакъв вид масло или мазнини. Те могат да включват други съставки като стафиди, овес, шоколадов чипс, ядки и др.",
    "В повечето англоговорящи страни, с изключение на САЩ и Канада, хрупкавите бисквитки се наричат ​​бискви.",
    "Бисквитите Chewier понякога се наричат ​​бисквитки дори в Обединеното кралство. Някои бисквитки могат също да бъдат назовавани според формата им, като квадратчета с дата или барове.",
    "Бисквитките или бисквитите могат да се произвеждат масово във фабрики, направени в малки пекарни или домашно приготвени.",
    "Вариантите за бисквити или бисквити включват сандвич бисквити, като крем крем, Jammie Dodgers, Bourbons и Oreos, с пълнеж от ружа или конфитюр и понякога потопени в шоколад или друго сладко покритие.",
    "Бисквитките често се сервират с напитки като мляко, кафе или чай.",
    "Фабричните бисквитки се продават в магазини за хранителни стоки, магазини за удобство и автомати.",
    "Американската употреба произлиза от холандското koekje 'малка торта', което е умалително от 'koek' ('торта'), que deriva de la palabra media holandesa 'koke'.",
    "Cookie Monster es un Muppet en el programa infantil de televisión Sesame Street, que es más conocido por su insaciable apetito por las galletas y sus frases famosas para comer, como '¡Me want cookie!', '¡Me eat cookie!' (o simplemente '¡COOKIE!') y 'Om nom nom nom' (dicho con la boca llena de comida).",
    "Las galletas caseras generalmente se hacen de masa, formada en pequeñas bolas y colocada en una hoja de galletas. Luego se hornean en un horno durante 5 a 15 minutos, dependiendo de la receta. La temperatura del horno varía de 250 a 350 grados.",
    "Las galletas de tamaño medio, si se hacen con azúcar, harina y manteca, contendrán entre 100 y 200 calorías.",
]

query_embedding = model.question(**tokenizer.encode_plus(query, return_tensors='pt')).detach().numpy()[0]

corpus, corpus_embeddings = [], []
for answer in answers:
    value_inputs = tokenizer.encode_plus(answer, answer, return_tensors='pt')
    embedding = model.answer(**value_inputs).detach().numpy()[0]
    corpus.append(answer)
    corpus_embeddings.append(embedding)

distances = scipy.spatial.distance.cdist([query_embedding], corpus_embeddings, "cosine")[0]

results = zip(range(len(distances)), distances)
results = sorted(results, key=lambda x: x[1])

print([[corpus[idx].strip(), (1.0 - distance)] for idx, distance in results])

Funcionalidades

transformadores
PyTorch
xlm-roberta
extracción de características
torch
similaridad de oraciones
código personalizado
dataset:oscar
dataset:chitanka
dataset:wikipedia
arxiv:2004.09813
arxiv:2002.02925
licencia:mit
inferencias de incrustaciones textuales
región:us

Casos de uso

Crear incrustaciones de oraciones en búlgaro
Obtener equivalencias semánticas entre oraciones en diferentes idiomas
Mapeo de un idioma a otro en el espacio vectorial