bi-encoder-mnrl-dbmdz-bert-base-turkish-cased-margin_3.0-msmarco-tr-10k

oguuzhansahin
Similitud de oraciones

Este es un modelo de sentence-transformers: Mapea oraciones y párrafos a un espacio vectorial denso de 768 dimensiones y puede ser utilizado para tareas como la agrupación o la búsqueda semántica.

Como usar

Usar este modelo se vuelve fácil cuando tienes sentence-transformers instalado:

pip install -U sentence-transformers

Entonces puedes usar el modelo así:

from sentence_transformers import SentenceTransformer, util

model = SentenceTransformer('oguuzhansahin/bi-encoder-mnrl-dbmdz-bert-base-turkish-cased-margin_3.0-msmarco-tr-10k')

query = "İstanbul'un nüfusu kaçtır?"

sentences = ["İstanbul'da yaşayan insan sayısı 15 milyonu geçmiştir",
"Londra'nın nüfusu yaklaşık 9 milyondur.",
"İstanbul'da hayat çok zor."]

query_embedding = model.encode(query, convert_to_tensor=True)
sentence_embeddings = model.encode(sentences, show_progress_bar=True)

# Calcular score de puntos entre la consulta y todas las incrustaciones de documentos
scores = util.dot_score(query_embedding, sentence_embeddings)[0].cpu().tolist()

# Combinar documentos y puntuaciones
doc_score_pairs = list(zip(sentences, scores))

# Ordenar por puntuación decreciente
doc_score_pairs = sorted(doc_score_pairs, key=lambda x: x[1], reverse=True)

# Mostrar pasajes y puntuaciones
for doc, score in doc_score_pairs:
    print(score, doc)

## Resultado Esperado:
400.1816711425781 | İstanbul'da yaşayan insan sayısı 15 milyonu geçmiştir
309.97796630859375 | Londra'nın nüfusu yaklaşık 9 milyondur.
133.04507446289062 | İstanbul'da hayat çok zor.

Evaluados en el conjunto de datos dev MSMARCO traducido de 10k consultas.

Datos de Evaluación

Epoch: diferentes valores entre 0 y 4.
Pasos: múltiples valores desde 500 hasta -1.

Funcionalidades

sentence-transformers
retrieval
inference
bert
feature-extraction

Casos de uso

Agrupación de textos
Búsqueda semántica
Extracción de características de texto
Puntaje de similitud de oraciones