Pitón:
- datasketch – MinHash LSH para búsqueda de similitud. Utiliza un módulo separado para MinHash y LSH, y no necesita vectorizar sus datos. También proporciona una implementación para Weighted MinHash. La mejor opción si está interesado en mejorar la búsqueda de documentos / texto / huellas digitales en su aplicación.
- NearPy: LSH básico para L2, Cosine y métrica CityBlock. Es la mejor opción para Python si sus datos son vectoriales. Incluso viene con una opción de almacenamiento externo para sus datos.
- scikit-learn – Bosque LSH para la métrica coseno vectorial. El código está bien mantenido. No estoy seguro de por qué otras métricas no están disponibles. Sus datos deben ser vectores. Debería tener una mejor precisión de recuperación que NearPy, ya que está utilizando LSH Forest en lugar de LSH básico.
- minhashcuda: MinHash ponderado en CUDA, con API de Python.
C ++:
- lshkit: LSH de múltiples sondas para métrica L2, de los autores originales de Multi-probe. Aunque la base del código no parece mantenerse durante mucho tiempo.
- flann: LSH de múltiples sondas para métrica L2, utiliza una versión aproximada del algoritmo de generación de vectores de perturbación. Se supone que esta es la implementación más rápida para C ++.
- opencv: contiene una versión anterior de flann. Esta es la mejor opción para C ++ ya que el código es mantenido por una comunidad y los problemas de compilación generalmente se resuelven.
- barra oblicua – LSH esférico
- E2 LSH – LSH para métrica L2 con optimización de parámetros. Este es un trabajo más académico. No estoy seguro si se mantiene el código.
Golang:
- ¿Es el procesamiento en memoria (PiM) la próxima gran novedad en la arquitectura de computadoras?
- ¿Cuál es el patrimonio neto de ACM?
- ¿Va en contra de las leyes de copyright si leo un trabajo de investigación y yo mismo codifico el algoritmo propuesto en el trabajo?
- ¿Qué experiencias de investigación de verano (REU) existen para la informática que se centran más en la teoría?
- ¿Cómo hacer un hábito de leer y comprender artículos de informática? De donde debo comenzar
- lsh: LSH de múltiples sondas, bosque de LSH y LSH básico para métrica L2 (euclidiana). Es la mejor opción si le preocupa tanto la velocidad como la precisión, pero no quiere lidiar con los dolores de cabeza que conlleva C ++.
- lshensemble: este es un nuevo LSH que le permite realizar búsquedas de contención en conjuntos. La contención es una mejor métrica que la similitud de Jaccard cuando su objetivo es encontrar conjuntos que tengan una superposición alta con su conjunto de consultas.