Skip to content

Repository files navigation

NLP_Lab2

Lab 2 de procesamiento de lenguaje natural: búsqueda semántica con embeddings locales comparada contra una búsqueda simple por palabras clave.

Ejecutar

python3 laboratorio_2_puente_joaquin_garcia_nelson.py

No requiere librerías externas: todo corre con la librería estándar de Python. La salida de la última corrida está en evidencia_ejecucion.txt.

Qué incluye

  • Corpus de 24 oraciones en español, agrupadas en 6 temas (IA, mascotas, cocina, clima, deportes, transporte).
  • 6 consultas de prueba redactadas con intención de Star Wars, pero apoyadas en palabras ambiguas (entrenamiento, torneo, jardin, tormenta, mascota) que también pertenecen al vocabulario cotidiano del corpus. Ninguna de las dos búsquedas entiende la intención: las dos devuelven la lectura mundana de la palabra, y ninguna puede responder "no tengo nada sobre este tema". Incluye un caso de control totalmente fuera de vocabulario.
  • Embeddings locales generados desde cero: co-ocurrencia con ventana deslizante → pesos PPMI → proyección aleatoria a 256 dimensiones. El embedding de una oración es el promedio de sus vectores de palabra ponderado por IDF.
  • Ranking top-k por similitud coseno, con umbral mínimo para filtrar el ruido de la proyección.
  • Búsqueda simple por palabras clave: traslape exacto de términos, normalizado por el largo de la consulta.
  • Comparación cualitativa entre ambos métodos: traslape de Jaccard por consulta y análisis de dónde gana cada uno.

Parámetros

Están al inicio del archivo: DIMENSIONES, VENTANA, TOP_K, UMBRAL_MINIMO, PESO_IDENTIDAD y SEMILLA. La semilla es fija, así que la corrida es reproducible.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages