inkoziev/sbert_synonymy

inkoziev
Similitud de oraciones

Esta es una modelo de sentence-transformers, destinada a determinar la sinonimia de dos textos cortos, principalmente de una sola oración con una longitud de hasta 10-15 palabras. Parte del conjunto de datos de entrenamiento está disponible en el repositorio inkoziev/paraphrases. El modelo calcula vectores de tamaño 312 para el texto y la pregunta. El coseno del ángulo entre estos vectores da una estimación de cuán cercanos son en significado. En el proyecto de sistema de diálogo se utiliza para determinar parafraseos de declaraciones y hechos. El modelo se basa en cointegrated/rubert-tiny2. Tiene un tamaño muy pequeño y realiza inferencias rápidamente incluso en una CPU.

Como usar

Uso con la biblioteca Sentence-Transformers

Para facilitar la instalación de sentence-transformers:

pip install -U sentence-transformers

Para determinar la sinonimia de pares de oraciones, se puede usar el siguiente código:

import sentence_transformers

sentences = ["Одна голова - хорошо, а две - лучше",
"пара голов имеет преимущество перед единственной",
"Потерявши голову, по волосам не плачут",]

model = sentence_transformers.SentenceTransformer('inkoziev/sbert_synonymy')
embeddings = model.encode(sentences)

s1 = sentences[0]
v1 = embeddings[0]
for i2 in range(1, 3):
    s = sentence_transformers.util.cos_sim(a=v1, b=embeddings[i2]).item()
    print('text1={} text2={} cossim={}'.format(s1, sentences[i2], s))

El resultado será aproximadamente así:

text1=Одна голова - хорошо, а две - лучше  text2=пара голов имеет преимущество перед единственной  cossim=0.8603419065475464
text1=Одна голова - хорошо, а две - лучше  text2=Потерявши голову, по волосам не плачут  cossim=0.013120125979185104

Funcionalidades

Detección de sinonimia de frases
Modelo basado en sentence-transformers
Cálculo de vectores dimensionales
Evaluación del significado a través del coseno del ángulo

Casos de uso

Determinación de parafraseos de declaraciones
Evaluación del significado similar de oraciones cortas