Daga2001's picture
Upload README.md with huggingface_hub
98da8a4 verified
metadata
language: es
tags:
  - sentence-transformers
  - embeddings
  - education
pipeline_tag: feature-extraction
inference: true
model-index:
  - name: modelo-recomendador-carreras
    results:
      - task:
          type: feature-extraction
        dataset:
          type: custom
          name: Programas Académicos
        metrics:
          - type: similarity
            value: 0.92

Base model sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2

🎓 Modelo Recomendador de Carreras

Este modelo recomienda programas académicos en función de lo que un estudiante diga que quiere ser. Usa paraphrase-multilingual-MiniLM-L12-v2 de SentenceTransformer para encontrar carreras afines a una intención escrita en lenguaje natural.

🧠 ¿Cómo funciona?

Se combinan columnas del dataset educativo oficial (como el nombre del programa, área de conocimiento, nivel de formación, etc.) para construir descripciones que son embebidas semánticamente. Luego, al recibir un prompt como "quiero ser desarrollador", se calcula la similitud y se devuelve lo más relevante.

⚙️ ¿Cómo usarlo?

from sentence_transformers import SentenceTransformer
import numpy as np
import pandas as pd
import pickle
from io import BytesIO
import requests

# Cargar modelo base
modelo_st = SentenceTransformer("all-MiniLM-L6-v2")

# Cargar archivos desde Hugging Face
base_url = "https://huggingface.co/Daga2001/modelo-recomendador-carreras/resolve/main/"
embeddings = pickle.load(BytesIO(requests.get(base_url + "embeddings.pkl").content))
df = pd.read_csv(base_url + "textos.csv")

def recomendar(prompt, top_k=5):
    query_emb = modelo_st.encode(prompt)
    sims = np.dot(embeddings, query_emb) / (np.linalg.norm(embeddings, axis=1) * np.linalg.norm(query_emb))
    top_idx = np.argsort(sims)[::-1][:top_k]
    return df.iloc[top_idx]

recomendar("quiero ser desarrollador")

📚 Datos utilizados

El modelo fue construido usando datos oficiales de programas académicos en Colombia, conteniendo campos como:

  • NOMBRE_DEL_PROGRAMA
  • CAMPO_DETALLADO
  • ÁREA_DE_CONOCIMIENTO
  • NIVEL_DE_FORMACIÓN
  • Entre otros

🧾 Licencia

MIT