30 puntos por xguru 2021-04-05 | 1 comentarios | Compartir por WhatsApp

Un artículo que explica paso a paso los fundamentos de un motor de búsqueda, sin técnicas especiales, usando el conjunto completo de datos de títulos + resúmenes de la Wikipedia en inglés

  1. Preparar los datos creando un objeto Abstract

  2. Crear el índice: tokenización y filtrado

→ minúsculas

→ stemming

→ excluir las 25 palabras más usadas en inglés (the, be, to, of, a..)

  1. Crear una búsqueda básica

  2. Agregar una función de relevancia: Term Frequency (cuántas veces se usa esa palabra en el resumen)

  3. Agregar Inverse Document Frequency: la cantidad de otros documentos vinculados a este documento

Código: https://github.com/bartdegoede/python-searchengine

1 comentarios

 
xguru 2021-04-05

Búsqueda difusa de cadenas que también soporta búsqueda por consonantes iniciales del coreano: https://es.news.hada.io/topic?id=3631

Aunque la base técnica y la implementación son completamente distintas a las de este artículo, me pareció una lectura entretenida porque explica con mucho detalle los fundamentos paso a paso.

Hay varias librerías de Python que implementan de forma más completa este tipo de funciones relacionadas con búsqueda de texto completo/modelado de temas/indexación de documentos/similitud.

SQLite tiene una extensión separada para Full-Text Search.