De hecho, tuve el mismo problema hace unas semanas. Es un problema interesante
The Hard Way – Hashing sensible a la localidad
Utilicé un sistema de recomendación de ítems basado en hashing sensible a la localidad (LSH). En primer lugar, preprocesé todos los elementos para extraer palabras clave usando tf – idf y entidades usando el grupo Stanford NLP (procesamiento del lenguaje natural). Por lo tanto, cada elemento se convierte en un vector de 30 palabras clave y entidad. Después de eso, LSH pone artículos similares en cubos con artículos similares. Luego, solo necesita encontrar elementos similares en ese depósito en lugar de todo el conjunto de datos.
Puedes usar diferentes distancias para calcular la similitud. La distancia coseno funcionó bien para mí. En su caso, los artículos con poca distancia se considerarán redundantes. Puede establecer un umbral para que si la distancia es menor que, por ejemplo, 0.1, el elemento se clasificará como redundante.
- Periodismo: ¿Cuál es la mejor manera de atender las solicitudes de entrevistas internacionales por correo electrónico? ¿Cómo se pueden recibir respuestas de entrevista de funcionarios internacionales por correo electrónico?
- ¿Quién es el propietario de los sitios en.bookfi.org?
- ¿Por qué no se permiten cámaras en las salas de la corte federal?
- ¿Cuáles son algunas áreas de noticias que los periodistas no cubren adecuadamente?
- ¿Por qué faltan investigaciones y pruebas periodísticas cuando se trata de informar sobre Donald Trump?
LSH es una buena técnica si va a manejar grandes cantidades de datos porque reduce la cantidad de elementos que necesita buscar.
Implementé LSH siguiendo este libro gratuito: Minería de conjuntos de datos masivos – Capítulo 9.2. Una búsqueda rápida sobre las implementaciones de LSH le devolverá una lista de las bibliotecas de LSH disponibles para su idioma favorito. También podría abrir el código fuente de mi biblioteca de sistema de recomendación en el futuro, así que si está interesado, siga la pregunta y actualizaré esta respuesta cuando esté abierto.
El camino difícil: aprendizaje no supervisado
Un enfoque diferente implica el uso de algoritmos de aprendizaje no supervisados para la agrupación. Esta es un área de investigación bien y puede leer una breve comparación de los algoritmos disponibles aquí 2.3. Agrupación: documentación de scikit-learn 0.16.1. Scikit-learn tiene implementaciones de tales algoritmos. Una vez que tenga los elementos agrupados, puede aplicar el segundo párrafo de la sección anterior.
La manera fácil
Una solución más simple sería encontrar similitud de elementos utilizando todo el conjunto de datos, pero esta solución no es escalable.