hku-nlp/instructor-base
hku-nlp
Similitud de oraciones
Este es un modelo general de incrustación: mapea cualquier fragmento de texto (por ejemplo, un título, una frase, un documento, etc.) a un vector de longitud fija en el tiempo de prueba sin entrenamiento adicional. Con instrucciones, las incrustaciones son específicas de dominio (por ejemplo, especializadas en ciencia, finanzas, etc.) y conscientes de la tarea (por ejemplo, personalizadas para clasificación, recuperación de información, etc.). El modelo es fácil de usar con la biblioteca sentence-transformer.
Como usar
Instalación
git clone https://github.com/HKUNLP/instructor-embedding
cd sentence-transformers
pip install -e .
Calcule sus incrustaciones personalizadas
from sentence_transformers import SentenceTransformer
sentence = "3D ActionSLAM: wearable person tracking in multi-floor environments"
instruction = "Represent the Science title; Input:"
model = SentenceTransformer('hku-nlp/instructor-base')
embeddings = model.encode([[instruction,sentence,0]])
print(embeddings)
Calcular similitudes entre frases
from sklearn.metrics.pairwise import cosine_similarity
sentences_a = [['Represent the Science sentence; Input: ','Parton energy loss in QCD matter',0],
['Represent the Financial statement; Input: ','The Federal Reserve on Wednesday raised its benchmark interest rate.',0]
sentences_b = [['Represent the Science sentence; Input: ','The Chiral Phase Transition in Dissipative Dynamics', 0],
['Represent the Financial statement; Input: ','The funds rose less than 0.5 per cent on Friday',0]
embeddings_a = model.encode(sentences_a)
embeddings_b = model.encode(sentences_b)
similarities = cosine_similarity(embeddings_a,embeddings_b)
print(similarities)
Funcionalidades
- Modelo de incrustación general
- Incrustaciones específicas de dominio
- Incrustaciones conscientes de la tarea
- Biblioteca de sentence-transformers
Casos de uso
- Clasificación de textos
- Recuperación de información
- Generación de vectores de longitud fija
- Comparación y similitud de frases