1 comentários

 
GN⁺ 2024-12-26
Comentários do Hacker News
  • Gosto de ver projetos como este. Se for expandir para além do arXiv, vale considerar que, em revisões de literatura, o escopo é importante
    Infelizmente, grandes editoras como Elsevier e Springer estão pressionando para remover resumos de outros índices, como o OpenAlex, o que torna o acesso mais difícil
    Fico curioso se você também olhou ferramentas como undermind.ai, scite.ai e elicit.org
    Além da busca, também vale pensar no que entraria em um fluxo de produto específico para revisão de literatura. Trabalhei na scite.ai no passado

    • Existem o PaperMatchBio para bioRxiv (https://papermatchbio.mitanshu.tech/) e o PaperMatchMed para medRxiv (https://papermatchmed.mitanshu.tech/), mas concordo que ter vários sites por área não é o ideal
      Ainda não consegui criar um pipeline de sincronização para esses dois, então os resultados podem estar um pouco desatualizados
      Fazer grandes editoras removerem os resumos parece ser um problema real para ampliar o escopo
      Vi undermind.ai, scite.ai e elicit.org, mas talvez não com profundidade suficiente; vou conferir de novo e tentar adicionar recursos complementares
      Fico curioso se, por fluxo de revisão de literatura além da busca, você quer dizer um sistema de gerenciamento de referências como Mendeley/Zotero
    • A tela de desafio da Cloudflare que aparece no início é fatal
      Fico me perguntando por que há tantos artigos ausentes no arXiv. O próprio autor precisa submetê-los? Encontro com frequência artigos de matemática, física e ciência da computação, mas geralmente não os de biologia, química e medicina
      Um banco de dados com todos os IDs de artigos existentes, onde eles estão publicados e onde estão ausentes poderia ser igualmente útil. Artigos que tenham recebido qualquer financiamento público não deveriam estar faltando
    1. Fiquei curioso por que você usou o modelo mixbread
    2. Fiquei curioso quanto de eficiência foi ganho ao binarizar os embeddings e usar distância de Hamming
    3. Fiquei curioso por que escolheu o Milvus em vez de outros bancos vetoriais
    4. Também fiquei curioso se a importação semanal de metadados foi automatizada, se é apenas um job cron, ou se há outras coisas que precisam ser coordenadas
      Pesquisar por “transformers on byte level not token level” deu resultados bons, mas não apareceu um artigo mais recente, https://arxiv.org/abs/2412.09871, e talvez muita gente queira encontrá-lo
      Também seria bom aumentar a densidade dos resultados. Por exemplo, uma opção de UI para recolher os resumos e mostrar mais itens na primeira tela seria interessante
      1. Como meus recursos eram limitados, o tamanho do modelo era pequeno o bastante para processar o corpus em uma velocidade razoável. Além disso, ele oferece suporte a MRL e embeddings binários, o que pode ajudar quando for preciso reduzir o tamanho da VM
      2. Fica em torno de quase 500 ms. Veja https://news.ycombinator.com/item?id=42507116#42509636
      3. Escolhi o Milvus por causa de https://benchmark.vectorview.ai/vectordbs.html. Presumi que mais estrelas significariam uma comunidade maior, bugs encontrados e corrigidos mais rapidamente e melhor suporte a recursos
      4. A importação semanal foi automatizada em https://huggingface.co/spaces/bluuebunny/update_arxiv_embeddings. Como os recursos disponíveis eram limitados, deixei o HuggingFace Spaces fazer a automação por mim
        Porém, o Space continua entrando em modo de suspensão, então planejo chamar continuamente o mesmo Space via api/gradio_client para evitar isso
        Você tem razão sobre a atualização; pretendo adicionar uma opção de ordenação por recência. É preciso equilibrar similaridade e data de publicação
        Também vou analisar a possibilidade de recolher os resumos e melhorar a densidade dos resultados
  • Excelente. Fiz algumas consultas e os resultados semânticos foram bem bons
    Mas, se isso virar parte do fluxo de trabalho diário em vez de ferramentas como o Google Scholar, seria bom poder ver como o artigo foi revisado e citado. Existe algo como o OpenReview, e um exemplo é https://openreview.net/forum?id=jhKbnNhwhc
    Também seria bom ter um recurso do tipo “conte-me isso para eu me atualizar rapidamente” sobre um conjunto de artigos. Modelos generativos poderiam ajudar; no fim, quero dizer algo que escreva parágrafos com citações que poderiam entrar na seção de revisão de literatura/trabalhos relacionados de um artigo

    • Eu não conhecia o OpenReview. Gosto da transparência, então com certeza vou considerar uma integração
      Fazer o modelo escrever a seção de introdução também é um bom feedback. Eu queria manter este mecanismo de busca um pouco mais tradicional, mas, se os resultados forem bons, esse pode ser o caminho a seguir
  • Antigamente, alguns anos antes do boom dos LLMs, quando usei um banco de dados vetorial de tamanho parecido (gensim/doc2vec), era possível simplesmente fazer busca vetorial por força bruta com instruções como SSE ou AVX
    Bastaria escrever em C e anexar uma API Python. Se os dados tiverem alguns GB, força bruta em CPU em tempo real ainda pode funcionar e ficar abaixo de 200 ms

    • É um problema interessante, então adicionei à lista de TODO
  • É um projeto excelente
    Recentemente criei um banco de dados de embeddings com o dataset do arXiv: https://huggingface.co/NeuML/txtai-arxiv
    Se você se interessa pela área de busca bibliográfica, há também alguns projetos relacionados
    annotateai(https://github.com/neuml/annotateai) anota artigos com LLM e dá suporte à busca no banco de dados do arXiv acima
    paperai(https://github.com/neuml/paperai) oferece busca semântica e fluxos de trabalho para artigos médicos e científicos, e é baseado no txtai(https://github.com/neuml/txtai)
    paperetl(https://github.com/neuml/paperetl) é um processo de ETL para artigos médicos e científicos e dá suporte a documentos PDF completos

    • Parecem bons projetos, com certeza vou dar uma olhada
    • paperetl é legal. Salvei para ver depois. Antigamente fiz algo parecido internamente com grobid; era um ótimo projeto criado por patrice
  • Para referência, txtai publicou embeddings do arXiv há 8 dias
    https://huggingface.co/NeuML/txtai-arxiv

    • Sim
  • Sempre que busca semântica é aplicada, gostaria de ver quais vantagens ela tem em relação à busca textual
    Fico curioso se há um benchmark para verificar se a busca realmente melhora. Também me pergunto, subjetivamente, se ela revelou melhor artigos novos e se é mais útil em áreas específicas

    • A vantagem depende totalmente da capacidade do modelo de embeddings. Embeddings semânticos entendem nuances, então conseguem encontrar resumos conceitualmente adequados mesmo sem exatamente as mesmas palavras-chave
      Por exemplo, “neural networks” e “deep learning” podem, e deveriam, trazer artigos semelhantes
      Subjetivamente, acho que sim. Compartilhei com colegas e eles disseram que ajudou a encontrar novos autores e artigos da área enquanto preparavam manuscritos
      Sobre ser mais útil em áreas específicas, acho que não tenho competência para responder
    • Um fator é como o usuário formula a consulta. Até certo ponto, as pessoas estão acostumadas com busca de texto completo, mas a busca semântica brilha quando se fazem perguntas literais em que a resposta e os termos podem não coincidir
  • Fico pensando em que outros bons domínios a busca semântica poderia ser útil. Há tempos queria criar um webapp assim
    A ideia que me veio agora é uma busca de anúncios online para profissionais de marketing. Fazer embeddings e indexar anúncios em vídeo e imagem para permitir encontrar inspiração de marketing por busca em linguagem natural
    Outra possibilidade é busca de compras que cubra várias plataformas de e-commerce como Sephora, Zara e H&M
    Só não sei se alguma das duas é um problema de negócio bom o bastante para resolver

      1. Busca rápida em documentos internos. Quase toda empresa precisa disso. Navegar por hierarquias como sistemas de arquivos é lento, limitado e antiquado
      2. Busca rápida em código, capaz de encontrar trechos relacionados mesmo quando a expressão nos comentários é diferente
    • Gostaria que parassem de trabalhar para tornar a tecnologia de anúncios melhor. Outra pessoa pode acabar fazendo isso, mas não precisa ser você
  • Fico curioso se é parecido com https://www.semanticscholar.org, do Allen Institute for AI

    • Acho que é mais próximo deste site: https://arxivxplorer.com/
    • É mais parecido com o que triilman comentou, mas todos os componentes são open source. Planejo adicionar suporte a filtros e palavras-chave em breve. Na verdade, estou esperando o Milvus
  • Ideia bacana
    Como feedback, busquei “wave function collapse algorithm”, “gumin wave function collapse”, “wfc” e “model synthesis”, mas não apareceram resultados relevantes para a área de pesquisa que me interessava. Vieram muitos artigos de computação quântica e outros de física
    O algoritmo WFC pode ser um caso ruim para esse tipo de busca, porque o termo é usado com sobreposição e não tem nada a ver com mecânica quântica. Model synthesis também é genérico demais, então pode ser outro caso ruim
    A primeira página de resultados do próprio arXiv para “wave function collapse algorithm” mostra resultados relevantes

    • O arXiv é um mecanismo de busca baseado em palavras-chave, então encontra literalmente as palavras no texto. O PaperMatch tenta encontrar artigos semelhantes que sejam semanticamente mais próximos
      Outra abordagem: escolha um artigo de que você goste, copie o resumo ou o ID do arXiv no arXiv e cole no PaperMatch; isso deve ajudar a encontrar artigos semelhantes