Me da gusto ver proyectos así. Si se expande más allá de arXiv, para las revisiones de literatura hay que considerar que el alcance importa
Por desgracia, grandes editoriales como Elsevier y Springer están presionando para que otros índices como OpenAlex eliminen los resúmenes, así que el acceso se vuelve más difícil
Me pregunto si también revisaste herramientas como undermind.ai, scite.ai y elicit.org
También valdría la pena pensar qué incluiría un flujo de producto dedicado a revisión de literatura además de la búsqueda. Antes trabajé en scite.ai
Existen PaperMatchBio para bioRxiv(https://papermatchbio.mitanshu.tech/) y PaperMatchMed para medRxiv(https://papermatchmed.mitanshu.tech/), pero coincido en que no es ideal tener varios sitios por área
Todavía no he podido crear una tubería de sincronización para esos dos, así que puede que los resultados estén un poco desactualizados
Que las grandes editoriales obliguen a quitar los resúmenes sí parece un problema real para ampliar el alcance
Sí vi undermind.ai, scite.ai y elicit.org, pero quizá no los revisé con suficiente profundidad, así que volveré a verlos e intentaré agregar funciones complementarias
Me pregunto si con flujo de revisión de literatura fuera de la búsqueda te refieres a un sistema de gestión bibliográfica como Mendeley/Zotero
La pantalla de desafío de Cloudflare que aparece al inicio es fatal
Me pregunto por qué faltan tantos artículos de arXiv. ¿Los autores tienen que enviarlos directamente? Suelo buscar artículos de matemáticas, física e informática, pero normalmente no hay de biología, química o medicina
Una base de datos con todos los IDs de artículos existentes y dónde están publicados y dónde faltan podría ser igual de útil. Ningún artículo con al menos algo de financiamiento público debería quedar fuera
Me pregunto por qué usaste el modelo mixbread
Me pregunto cuánta eficiencia ganaste al binarizar los embeddings y usar distancia de Hamming
Me pregunto por qué elegiste Milvus en lugar de otro almacén vectorial
Me pregunto si automatizaste la carga semanal de metadatos, si es solo una tarea de cron o si hay algo más que coordinar
Busqué “transformers on byte level not token level” y estuvo bien, pero no apareció un artículo más reciente, https://arxiv.org/abs/2412.09871, y puede que mucha gente quiera encontrarlo
También estaría bien aumentar la densidad de resultados. Por ejemplo, una opción de UI para plegar los resúmenes y ver más en la primera pantalla estaría bien
Como los recursos que tenía eran limitados, el tamaño del modelo era lo bastante pequeño para procesar el corpus relativamente rápido. Además, soporta MRL y embeddings binarios, lo que puede ayudar cuando haya que reducir el tamaño de la VM
Elegí Milvus por https://benchmark.vectorview.ai/vectordbs.html. Supuse que más estrellas significaban una comunidad más grande, detección y corrección de bugs más rápida y mejor soporte de funciones
La carga semanal la automaticé en https://huggingface.co/spaces/bluuebunny/update_arxiv_embeddings. Como los recursos disponibles eran limitados, dejé que HuggingFace Spaces se encargara de automatizarlo
Pero el Space sigue quedándose dormido, así que para evitarlo planeo seguir llamando a ese mismo Space con api/gradio_client
Tienes razón con lo de la actualidad, así que planeo agregar una opción de orden por recencia. Hay que equilibrar similitud y fecha de publicación
También revisaré lo de plegar resúmenes y mejorar la densidad de resultados
Excelente. Probé algunas consultas y los resultados semánticos fueron bastante buenos
Pero si esto va a formar parte del flujo de trabajo diario en lugar de herramientas como Google Scholar, estaría bien poder ver cómo se revisó y citó un artículo. Hay algo como OpenReview, y un ejemplo es https://openreview.net/forum?id=jhKbnNhwhc
También estaría bien una función tipo “cuéntamelo para ponerme al día rápido” sobre un conjunto de artículos. Un modelo generativo podría ayudar; en otras palabras, estaría bien que al final escribiera un párrafo con citas, del tipo que podría entrar en la revisión de literatura/trabajo relacionado de un artículo
No conocía OpenReview. Me gusta su transparencia, así que sin duda voy a considerar integrarlo
También es buen feedback lo de hacer que el modelo escriba la sección de introducción. Quise mantener este motor de búsqueda un poco más tradicional, pero si los resultados son buenos, podría ser la dirección a seguir
Hace tiempo, antes del boom de los LLM, cuando probé una base de datos vectorial de tamaño similar (gensim/doc2vec), era viable hacer búsqueda vectorial por fuerza bruta usando simplemente instrucciones como SSE o AVX
Basta con escribirlo en C y ponerle una API de Python. Si los datos son de unos pocos GB, incluso la fuerza bruta en CPU en tiempo real puede funcionar y dar menos de 200 ms
Es un problema interesante, así que lo agregué a mi lista de TODO
Es un gran proyecto.
Hace poco hice una base de datos de embeddings con el dataset de arXiv: https://huggingface.co/NeuML/txtai-arxiv
Si te interesa el área de búsqueda bibliográfica, también hay algunos proyectos relacionados.
annotateai(https://github.com/neuml/annotateai) anota artículos con LLM y soporta búsquedas sobre la base de datos de arXiv mencionada arriba.
paperai(https://github.com/neuml/paperai) ofrece búsqueda semántica y flujos de trabajo para artículos médicos y científicos, y está basado en txtai(https://github.com/neuml/txtai).
paperetl(https://github.com/neuml/paperetl) es un proceso ETL para artículos médicos y científicos, y soporta documentos PDF completos.
Parecen buenos proyectos, así que definitivamente les voy a echar un vistazo.
paperetl está genial. Lo guardé para verlo después. Antes hicimos algo parecido internamente con grobid, un gran proyecto hecho por patrice.
Cada vez que se aplica búsqueda semántica, me gustaría ver qué ventajas tiene frente a la búsqueda de texto.
Me pregunto si hay algún benchmark para comprobar si la búsqueda realmente mejora. También me da curiosidad si, subjetivamente, hace más visibles artículos nuevos o si resulta más útil en ciertos campos.
La ventaja depende por completo de la capacidad del modelo de embeddings. Los embeddings semánticos entienden matices, así que pueden encontrar resúmenes conceptualmente relevantes incluso si no contienen exactamente las mismas palabras clave.
Por ejemplo, “neural networks” y “deep learning” pueden y deberían traer artículos similares.
Subjetivamente, yo diría que sí. Lo compartí con colegas y me dijeron que les ayudó a encontrar nuevos autores y artículos en su área mientras preparaban un manuscrito.
En cuanto a si es más útil en campos específicos, no creo tener la capacidad para responder eso.
Un factor es cómo formula la consulta el usuario. Hasta cierto punto, la gente está acostumbrada a la búsqueda experta, pero la búsqueda semántica brilla cuando haces preguntas literales en las que la respuesta y la terminología no necesariamente coinciden.
Me pregunto qué otras áreas serían buenas para usar búsqueda semántica. Desde hace tiempo he querido crear una webapp así.
La idea que se me ocurrió ahora es un buscador de anuncios en línea para marketers. Embedir e indexar anuncios en video e imagen para encontrar inspiración de marketing con búsquedas en lenguaje natural.
Otra opción es una búsqueda de compras que abarque varias plataformas de comercio electrónico como Sephora, Zara y H&M.
Pero no sé si cualquiera de las dos sea un problema de negocio lo bastante bueno como para resolver.
Búsqueda rápida en documentación interna. Casi todas las empresas la necesitan. Explorar jerarquías como las de un sistema de archivos es lento, limitado y anticuado.
Búsqueda rápida en código que pueda encontrar partes relevantes aunque los comentarios estén redactados de forma distinta.
Ojalá dejen de mejorar la tecnología publicitaria. Alguien más podrá hacerlo, pero no hace falta que seas tú.
Se parece más a lo que comentó triilman, pero todos los componentes son open source. Pronto planeo añadir filtros y soporte para palabras clave. De hecho, estoy esperando a Milvus.
Es una gran idea.
Como feedback, busqué “wave function collapse algorithm”, “gumin wave function collapse”, “wfc”, “model synthesis”, pero no salieron resultados relevantes del área de investigación que me interesaba. Aparecieron muchos artículos de computación cuántica y de otras áreas de física.
El algoritmo WFC puede ser un mal caso para este tipo de búsqueda porque el término se usa de forma ambigua y no tiene ninguna relación con la mecánica cuántica. “Model synthesis” también puede ser un mal ejemplo por ser demasiado general.
La primera página de resultados en arXiv para “wave function collapse algorithm” sí muestra resultados relevantes.
arXiv es un motor de búsqueda basado en palabras clave, así que busca literalmente las palabras dentro del texto. PaperMatch intenta encontrar artículos similares que estén más cerca en sentido semántico.
Como otro enfoque, puedes elegir un artículo que te guste, copiar el resumen o el ID de arXiv desde arXiv y pegarlo en PaperMatch; eso probablemente te ayudará a encontrar artículos parecidos.
1 comentarios
Comentarios de Hacker News
Me da gusto ver proyectos así. Si se expande más allá de arXiv, para las revisiones de literatura hay que considerar que el alcance importa
Por desgracia, grandes editoriales como Elsevier y Springer están presionando para que otros índices como OpenAlex eliminen los resúmenes, así que el acceso se vuelve más difícil
Me pregunto si también revisaste herramientas como undermind.ai, scite.ai y elicit.org
También valdría la pena pensar qué incluiría un flujo de producto dedicado a revisión de literatura además de la búsqueda. Antes trabajé en scite.ai
Todavía no he podido crear una tubería de sincronización para esos dos, así que puede que los resultados estén un poco desactualizados
Que las grandes editoriales obliguen a quitar los resúmenes sí parece un problema real para ampliar el alcance
Sí vi undermind.ai, scite.ai y elicit.org, pero quizá no los revisé con suficiente profundidad, así que volveré a verlos e intentaré agregar funciones complementarias
Me pregunto si con flujo de revisión de literatura fuera de la búsqueda te refieres a un sistema de gestión bibliográfica como Mendeley/Zotero
Me pregunto por qué faltan tantos artículos de arXiv. ¿Los autores tienen que enviarlos directamente? Suelo buscar artículos de matemáticas, física e informática, pero normalmente no hay de biología, química o medicina
Una base de datos con todos los IDs de artículos existentes y dónde están publicados y dónde faltan podría ser igual de útil. Ningún artículo con al menos algo de financiamiento público debería quedar fuera
Busqué “transformers on byte level not token level” y estuvo bien, pero no apareció un artículo más reciente, https://arxiv.org/abs/2412.09871, y puede que mucha gente quiera encontrarlo
También estaría bien aumentar la densidad de resultados. Por ejemplo, una opción de UI para plegar los resúmenes y ver más en la primera pantalla estaría bien
Pero el Space sigue quedándose dormido, así que para evitarlo planeo seguir llamando a ese mismo Space con api/gradio_client
Tienes razón con lo de la actualidad, así que planeo agregar una opción de orden por recencia. Hay que equilibrar similitud y fecha de publicación
También revisaré lo de plegar resúmenes y mejorar la densidad de resultados
Excelente. Probé algunas consultas y los resultados semánticos fueron bastante buenos
Pero si esto va a formar parte del flujo de trabajo diario en lugar de herramientas como Google Scholar, estaría bien poder ver cómo se revisó y citó un artículo. Hay algo como OpenReview, y un ejemplo es https://openreview.net/forum?id=jhKbnNhwhc
También estaría bien una función tipo “cuéntamelo para ponerme al día rápido” sobre un conjunto de artículos. Un modelo generativo podría ayudar; en otras palabras, estaría bien que al final escribiera un párrafo con citas, del tipo que podría entrar en la revisión de literatura/trabajo relacionado de un artículo
También es buen feedback lo de hacer que el modelo escriba la sección de introducción. Quise mantener este motor de búsqueda un poco más tradicional, pero si los resultados son buenos, podría ser la dirección a seguir
Hace tiempo, antes del boom de los LLM, cuando probé una base de datos vectorial de tamaño similar (gensim/doc2vec), era viable hacer búsqueda vectorial por fuerza bruta usando simplemente instrucciones como SSE o AVX
Basta con escribirlo en C y ponerle una API de Python. Si los datos son de unos pocos GB, incluso la fuerza bruta en CPU en tiempo real puede funcionar y dar menos de 200 ms
Es un gran proyecto.
Hace poco hice una base de datos de embeddings con el dataset de arXiv: https://huggingface.co/NeuML/txtai-arxiv
Si te interesa el área de búsqueda bibliográfica, también hay algunos proyectos relacionados.
annotateai(https://github.com/neuml/annotateai) anota artículos con LLM y soporta búsquedas sobre la base de datos de arXiv mencionada arriba.
paperai(https://github.com/neuml/paperai) ofrece búsqueda semántica y flujos de trabajo para artículos médicos y científicos, y está basado en txtai(https://github.com/neuml/txtai).
paperetl(https://github.com/neuml/paperetl) es un proceso ETL para artículos médicos y científicos, y soporta documentos PDF completos.
Como referencia, txtai publicó embeddings de arXiv hace 8 días.
https://huggingface.co/NeuML/txtai-arxiv
Cada vez que se aplica búsqueda semántica, me gustaría ver qué ventajas tiene frente a la búsqueda de texto.
Me pregunto si hay algún benchmark para comprobar si la búsqueda realmente mejora. También me da curiosidad si, subjetivamente, hace más visibles artículos nuevos o si resulta más útil en ciertos campos.
Por ejemplo, “neural networks” y “deep learning” pueden y deberían traer artículos similares.
Subjetivamente, yo diría que sí. Lo compartí con colegas y me dijeron que les ayudó a encontrar nuevos autores y artículos en su área mientras preparaban un manuscrito.
En cuanto a si es más útil en campos específicos, no creo tener la capacidad para responder eso.
Me pregunto qué otras áreas serían buenas para usar búsqueda semántica. Desde hace tiempo he querido crear una webapp así.
La idea que se me ocurrió ahora es un buscador de anuncios en línea para marketers. Embedir e indexar anuncios en video e imagen para encontrar inspiración de marketing con búsquedas en lenguaje natural.
Otra opción es una búsqueda de compras que abarque varias plataformas de comercio electrónico como Sephora, Zara y H&M.
Pero no sé si cualquiera de las dos sea un problema de negocio lo bastante bueno como para resolver.
Me pregunto si esto se parece a https://www.semanticscholar.org del Allen Institute for AI.
Es una gran idea.
Como feedback, busqué “wave function collapse algorithm”, “gumin wave function collapse”, “wfc”, “model synthesis”, pero no salieron resultados relevantes del área de investigación que me interesaba. Aparecieron muchos artículos de computación cuántica y de otras áreas de física.
El algoritmo WFC puede ser un mal caso para este tipo de búsqueda porque el término se usa de forma ambigua y no tiene ninguna relación con la mecánica cuántica. “Model synthesis” también puede ser un mal ejemplo por ser demasiado general.
La primera página de resultados en arXiv para “wave function collapse algorithm” sí muestra resultados relevantes.
Como otro enfoque, puedes elegir un artículo que te guste, copiar el resumen o el ID de arXiv desde arXiv y pegarlo en PaperMatch; eso probablemente te ayudará a encontrar artículos parecidos.