DFE (Dialog Fact Encoder)
DFE es un modelo de sentence-transformers que mapea 'diálogo' y 'hechos' a un espacio vectorial denso de 768 dimensiones y se puede usar para tareas como la agrupación y la búsqueda semántica. El Codificador de Hechos de Diálogo (DFE) es un modelo de incrustación entrenado para capturar la relevancia semántica entre turnos de diálogo conversacional y declaraciones fácticas. Se basa en el modelo de incrustación BGE al agregar una capa de fusión que transforma las incrustaciones según si el texto de entrada es un 'diálogo' o un 'hecho'. Los diálogos pasan por capas densas adicionales para proyectar las incrustaciones en un espacio optimizado para comparar turnos de diálogos. Del mismo modo, las entradas fácticas pasan por capas densas separadas para transformar las incrustaciones para la coincidencia de relevancia contra diálogos. Esto permite que el DFE incruste diálogos y hechos en un espacio de relevancia conjunta sin necesidad de generar consultas explícitas. DFE permite la coincidencia aproximada de hechos relevantes con turnos de diálogo en tiempo real, mientras se evita el alto costo computacional de los modelos de generación de consultas. El modelo fue entrenado usando una pérdida de triplete para acercar las incrustaciones de diálogos a las incrustaciones de hechos relevantes, mientras se alejan los pares no relevantes. Esto ayuda al modelo a aprender las sutilezas semánticas necesarias para evaluar la relevancia entre diálogos y hechos.
Como usar
Usar este modelo es fácil cuando tienes sentence-transformers instalado:
pip install -U sentence-transformers
from sentence_transformers import SentenceTransformer
dialog = """
Diwank: Hey, what are we eating for dinner today?
Ishita: Already? I thought we just ate lol
Diwank: Yeah, some of us work hard and get hungy
Ishita: Okay, what do you want to eat then?
Diwank: I want to eat out but I am thinking of something light.
""".strip()
facts = [
"Diwank likes Sushi.",
"Ishita does not like unnecessarily-pricey places restaurants",
"Diwank likes cooking.",
"Ishita is terrible at cooking.",
"Diwank loves to eat Ishita's head.",
]
model = SentenceTransformer("julep-ai/dfe-base-en")
dialog_embeddings = model.encode({"dialog": dialog})
fact_embeddings = model.encode([{ "fact": fact } for fact in facts])
Funcionalidades
- Modelo basado en transformers para mapear 'diálogos' y 'hechos' a un espacio vectorial denso.
- Capacidad para tareas como la agrupación y la búsqueda semántica.
- Entrenado usando pérdida de triplete para mejorar la relevancia semántica entre diálogos y hechos.
- Permite la coincidencia aproximada de hechos relevantes en tiempo real.
- Arquitectura asimétrica con capas densas separadas para entradas de diálogo y hechos.
Casos de uso
- Agrupación de diálogos y hechos.
- Búsqueda semántica en tiempo real de hechos relevantes para turnos de diálogo.
- Incrustación eficiente de diálogos conversacionales en un espacio de relevancia con declaraciones fácticas.
- Minimización del coste computacional en la comparación de relevancia semántica.