CoolFace
Modelpublic

Daga2001/modelo-recomendador-carreras

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes72downloads
Model Card

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?

python
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:

  • —NOMBREDELPROGRAMA
  • —CAMPO_DETALLADO
  • —ÁREADECONOCIMIENTO
  • —NIVELDEFORMACIÓN
  • —Entre otros

🧾 Licencia

MIT