clips/mfaq
clips
Similitud de oraciones
Presentamos un modelo de recuperación de preguntas frecuentes multilingüe entrenado en el conjunto de datos MFAQ, que clasifica las respuestas candidatas según una pregunta dada.
Como usar
Instalación
pip install sentence-transformers transformers
Uso
Puedes usar MFAQ con sentence-transformers o directamente con un modelo HuggingFace.
Transformadores de Oraciones
from sentence_transformers import SentenceTransformer
question = "How many models can I host on HuggingFace?"
answer_1 = "All plans come with unlimited private models and datasets."
answer_2 = "AutoNLP is an automatic way to train and deploy state-of-the-art NLP models, seamlessly integrated with the Hugging Face ecosystem."
answer_3 = "Based on how much training data and model variants are created, we send you a compute cost and payment link - as low as $10 per job."
model = SentenceTransformer('clips/mfaq')
embeddings = model.encode([question, answer_1, answer_3, answer_3])
print(embeddings)
Transformadores HuggingFace
from transformers import AutoTokenizer, AutoModel
import torch
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)
question = "How many models can I host on HuggingFace?"
answer_1 = "All plans come with unlimited private models and datasets."
answer_2 = "AutoNLP is an automatic way to train and deploy state-of-the-art NLP models, seamlessly integrated with the Hugging Face ecosystem."
answer_3 = "Based on how much training data and model variants are created, we send you a compute cost and payment link - as low as $10 per job."
tokenizer = AutoTokenizer.from_pretrained('clips/mfaq')
model = AutoModel.from_pretrained('clips/mfaq')
# Tokenizar oraciones
encoded_input = tokenizer([question, answer_1, answer_3, answer_3], padding=True, truncation=True, return_tensors='pt')
# Calcular incrustaciones de tokens
with torch.no_grad():
model_output = model(**encoded_input)
# Realizar agrupación.
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
Entrenamiento
Puedes encontrar el script de entrenamiento para el modelo aquí.
Funcionalidades
- Transformadores de oraciones
- Compatibilidad con PyTorch
- Compatibilidad con TensorFlow
- Basado en xlm-roberta
- Extracción de características
- Inferencia de similitud de oraciones
- Compatibilidad con AutoTrain
- Compatible con puntos finales de inferencia
Casos de uso
- Recuperación multilingüe de preguntas frecuentes
- Creación de aplicaciones de servicio al cliente automatizadas
- Implementación de sistemas de respuesta a preguntas que cubren múltiples idiomas