TAACO_Similarity
El modelo TAACO_Similarity está basado en Sentence-transformers y ha sido entrenado utilizando el conjunto de datos STS (Similaridad Textual de Frases) de KLUE. Este modelo fue desarrollado para medir la cohesión semántica entre frases en coreano, siendo uno de los indicadores de la herramienta de medición de cohesión entre frases coreana K-TAACO (nombre provisional). Además, se planea continuar el entrenamiento utilizando diversos datos, incluyendo el conjunto de datos de similaridad de frases de 'Todos los Cuerpos'.
Como usar
Para usar este modelo, se debe instalar Sentence-transformers:
pip install -U sentence-transformers
Después, use el siguiente código para obtener los embeddings de las frases:
from sentence_transformers import SentenceTransformer, models
sentences = ["This is an example sentence", "Each sentence is converted"]
embedding_model = models.Transformer(
model_name_or_path="KDHyun08/TAACO_STS",
max_seq_length=256,
do_lower_case=True
)
pooling_model = models.Pooling(
embedding_model.get_word_embedding_dimension(),
pooling_mode_mean_tokens=True,
pooling_mode_cls_token=False,
pooling_mode_max_tokens=False,
)
model = SentenceTransformer(modules=[embedding_model, pooling_model])
embeddings = model.encode(sentences)
print(embeddings)
Para comparar la similaridad entre frases después de instalar Sentence-transformers, use el siguiente código:
from sentence_transformers import SentenceTransformer, models
embedding_model = models.Transformer(
model_name_or_path="KDHyun08/TAACO_STS",
max_seq_length=256,
do_lower_case=True
)
pooling_model = models.Pooling(
embedding_model.get_word_embedding_dimension(),
pooling_mode_mean_tokens=True,
pooling_mode_cls_token=False,
pooling_mode_max_tokens=False,
)
model = SentenceTransformer(modules=[embedding_model, pooling_model])
docs = ['Frase 1', 'Frase 2', ..., 'Frase N']
document_embeddings = model.encode(docs)
query = 'Frase de consulta'
query_embedding = model.encode(query)
top_k = min(10, len(docs))
cos_scores = util.pytorch_cos_sim(query_embedding, document_embeddings)[0]
top_results = torch.topk(cos_scores, k=top_k)
print(f"Frase de entrada: {query}")
print(f"\n {top_k} frases más similares:\n")
for i, (score, idx) in enumerate(zip(top_results[0], top_results[1])):
print(f"{i+1}: {docs[idx]} {'(similaridad: {:.4f})'.format(score)}\n")
Los resultados de la evaluación muestran, por ejemplo:
Frase de entrada: 'Frase de ejemplo'
1: Frase más similar (similaridad: 0.6687)
2: Otra frase similar (similaridad: 0.6468)
...
Funcionalidades
- Basado en Sentence-transformers
- Entrenado con el dataset STS de KLUE
- Medición de cohesión semántica entre frases en coreano
- Uso de diferentes datasets para entrenamiento adicional
- Uso de la biblioteca PyTorch y Transformers
Casos de uso
- Medición de la cohesión semántica entre frases en coreano
- Comparación de similaridad textual entre frases
- Aplicaciones en procesamiento de lenguaje natural para el coreano
- Desarrollo de herramientas de análisis de texto