1 Kommentare

 
GN⁺ 2024-12-26
Meinungen auf Hacker News
  • Es macht Spaß, solche Projekte zu sehen. Wenn es über arXiv hinaus erweitert wird, sollte man bedenken, dass bei Literaturrecherchen die Abdeckung wichtig ist.
    Leider üben große Verlage wie Elsevier und Springer Druck aus, Abstracts aus anderen Indizes wie OpenAlex zu entfernen, was den Zugang erschwert.
    Ich frage mich, ob du dir auch Tools wie undermind.ai, scite.ai und elicit.org angesehen hast.
    Neben der Suche lohnt es sich auch, darüber nachzudenken, was in einen Produkflow speziell für Literaturrecherchen hineingehört. Ich habe früher bei scite.ai gearbeitet.

    • Es gibt PaperMatchBio für bioRxiv (https://papermatchbio.mitanshu.tech/) und PaperMatchMed für medRxiv (https://papermatchmed.mitanshu.tech/), aber ich stimme zu, dass mehrere Websites je nach Fachgebiet nicht ideal sind.
      Ich habe noch keine Synchronisierungspipeline für diese beiden gebaut, daher könnten die Ergebnisse etwas veraltet sein.
      Dass große Verlage die Entfernung von Abstracts erzwingen, dürfte bei der Erweiterung der Abdeckung tatsächlich ein Problem werden.
      undermind.ai, scite.ai und elicit.org habe ich mir angesehen, aber vielleicht nicht gründlich genug; ich werde sie noch einmal prüfen und ergänzende Funktionen hinzufügen.
      Ich frage mich, ob du mit einem Literaturrecherche-Flow jenseits der Suche Literaturverwaltungssysteme wie Mendeley/Zotero meinst.
    • Der anfangs erscheinende Cloudflare-Challenge-Bildschirm ist fatal.
      Ich frage mich, warum so viele Papers bei arXiv fehlen. Müssen die Autoren sie selbst einreichen? Arbeiten aus Mathematik, Physik und Informatik findet man oft, aber aus Biologie, Chemie und Medizin normalerweise nicht.
      Eine Datenbank mit allen existierenden Paper-IDs und dazu, wo sie hochgeladen sind und wo sie fehlen, könnte genauso nützlich sein. Papers, in die auch nur ein wenig öffentliche Mittel geflossen sind, sollten nicht fehlen.
    1. Ich frage mich, warum das mixbread-Modell verwendet wurde.
    2. Ich frage mich, wie viel effizienter es wurde, die Embeddings zu binarisieren und die Hamming-Distanz zu verwenden.
    3. Ich frage mich, warum Milvus statt anderer Vektorspeicher gewählt wurde.
    4. Ich frage mich, ob der wöchentliche Metadata-Abruf automatisiert ist, ob es nur ein einfacher Cron-Job ist oder ob noch andere Dinge koordiniert werden müssen.
      Die Suche nach „transformers on byte level not token level“ war in Ordnung, aber das neuere Paper https://arxiv.org/abs/2412.09871 erschien nicht, und es könnte viele Leute geben, die genau das finden wollen.
      Eine höhere Ergebnisdichte wäre ebenfalls gut. Zum Beispiel wäre eine UI-Option schön, mit der man Abstracts einklappen kann, damit mehr auf den ersten Bildschirm passt.
      1. Da meine Ressourcen begrenzt sind, war die Modellgröße klein genug, um den Korpus einigermaßen schnell zu verarbeiten. Außerdem unterstützt es MRL und binäre Embeddings, was helfen kann, wenn die VM-Größe reduziert werden muss.
      2. Es sind fast 500 ms. Siehe https://news.ycombinator.com/item?id=42507116#42509636.
      3. Ich habe Milvus wegen https://benchmark.vectorview.ai/vectordbs.html gewählt. Ich ging davon aus, dass viele Sterne eine größere Community bedeuten, Bugs schneller gefunden und behoben werden und der Funktionssupport besser ist.
      4. Der wöchentliche Abruf ist unter https://huggingface.co/spaces/bluuebunny/update_arxiv_embeddings automatisiert. Da die verfügbaren Ressourcen begrenzt sind, lasse ich HuggingFace Spaces die Automatisierung übernehmen.
        Allerdings schläft der Space ständig ein; um das zu vermeiden, plane ich, denselben Space kontinuierlich über api/gradio_client aufzurufen.
        Beim Thema Aktualität hast du recht, daher möchte ich eine Sortieroption nach Aktualität hinzufügen. Man muss einen Ausgleich zwischen Ähnlichkeit und Veröffentlichungsdatum finden.
        Auch das Einklappen von Abstracts und eine bessere Ergebnisdichte werde ich mir ansehen.
  • Großartig. Ich habe ein paar Abfragen ausprobiert, und die semantischen Ergebnisse waren ziemlich gut.
    Wenn es allerdings statt Tools wie Google Scholar Teil des täglichen Workflows werden soll, wäre es gut sehen zu können, wie ein Paper begutachtet und zitiert wurde. Es gibt Dinge wie OpenReview; ein Beispiel ist https://openreview.net/forum?id=jhKbnNhwhc.
    Außerdem wäre eine Funktion wie „Erzähl mir so, dass ich mich schnell in dieses Bündel von Papers einarbeiten kann“ nützlich. Generative Modelle könnten dabei helfen; letztlich meine ich, dass sie Absätze mit Zitaten schreiben, wie sie in eine Literaturübersicht bzw. den Related-Work-Abschnitt eines Papers passen würden.

    • OpenReview kannte ich nicht. Die Transparenz gefällt mir, daher werde ich eine Integration auf jeden Fall prüfen.
      Auch der Vorschlag, das Modell eine Einleitungssektion schreiben zu lassen, ist gutes Feedback. Ich wollte diese Suchmaschine etwas traditioneller halten, aber wenn die Ergebnisse gut sind, könnte das die Richtung sein, in die es künftig gehen sollte.
  • Früher, also einige Jahre vor dem LLM-Boom, habe ich eine Vektordatenbank ähnlicher Größe (gensim/doc2vec) verwendet; damals war Vektorsuche auch per Brute Force mit Instruktionen wie SSE oder AVX möglich.
    Man schreibt das in C und hängt eine Python-API daran. Wenn die Daten nur ein paar GB groß sind, geht das auch per Echtzeit-CPU-Brute-Force und kann unter 200 ms liegen.

    • Ein interessantes Problem, ich habe es auf die TODO-Liste gesetzt.
  • Ein großartiges Projekt.
    Ich habe kürzlich eine Embedding-Datenbank mit dem arXiv-Datensatz erstellt: https://huggingface.co/NeuML/txtai-arxiv
    Falls dich das Feld der Literaturrecherche interessiert, gibt es auch einige verwandte Projekte.
    annotateai(https://github.com/neuml/annotateai) annotiert Papers mit LLMs und unterstützt die Suche in der oben genannten arXiv-Datenbank.
    paperai(https://github.com/neuml/paperai) bietet semantische Suche und Workflows für medizinische und wissenschaftliche Papers und basiert auf txtai(https://github.com/neuml/txtai).
    paperetl(https://github.com/neuml/paperetl) ist ein ETL-Prozess für medizinische und wissenschaftliche Papers und unterstützt vollständige PDF-Dokumente.

    • Sie sehen nach guten Projekten aus; ich werde sie mir auf jeden Fall ansehen.
    • paperetl ist cool. Für später gespeichert. Früher haben wir intern etwas Ähnliches mit grobid gemacht; das war ein großartiges Projekt von patrice.
  • Zur Info: txtai hat vor 8 Tagen arXiv-Embeddings veröffentlicht.
    https://huggingface.co/NeuML/txtai-arxiv

    • Stimmt.
  • Immer wenn semantische Suche eingesetzt wird, würde ich gern sehen, welchen Vorteil sie gegenüber Textsuche hat.
    Ich frage mich, ob es Benchmarks gibt, mit denen man prüfen kann, ob die Suche tatsächlich besser wird. Subjektiv interessiert mich auch, ob sie neue Papers besser sichtbar gemacht hat und ob sie in bestimmten Fachgebieten nützlicher ist.

    • Der Nutzen hängt vollständig von den Fähigkeiten des Embedding-Modells ab. Semantische Embeddings verstehen Nuancen und können daher konzeptionell passende Abstracts finden, auch wenn nicht exakt dieselben Keywords vorkommen.
      Zum Beispiel können und sollten „neural networks“ und „deep learning“ ähnliche Papers liefern.
      Subjektiv würde ich sagen: ja. Ich habe es mit Kolleginnen und Kollegen geteilt, und sie sagten, es habe ihnen beim Vorbereiten eines Manuskripts geholfen, neue Autorinnen/Autoren und Papers in ihrem Bereich zu finden.
      Ob es in bestimmten Fachgebieten nützlicher ist, kann ich meiner Einschätzung nach nicht beantworten.
    • Ein Faktor ist, wie Nutzer ihre Anfrage formulieren. In gewissem Maße sind Menschen an Volltextsuche gewöhnt, aber semantische Suche glänzt bei wörtlich formulierten Fragen, bei denen Antwort und Begriffe nicht übereinstimmen müssen.
  • Ich frage mich, welche anderen guten Bereiche es geben könnte, in denen semantische Suche nützlich wäre. Ich wollte schon länger so eine Webapp bauen.
    Eine Idee, die mir gerade einfällt, ist eine Online-Werbesuche für Marketer: Video- und Bildanzeigen einbetten und indexieren, damit man per natürlicher Sprache Marketing-Inspiration findet.
    Außerdem gäbe es Shopping-Suche über mehrere E-Commerce-Plattformen wie Sephora, Zara und H&M hinweg.
    Allerdings weiß ich nicht, ob eine der beiden Ideen als zu lösendes Business-Problem gut genug ist.

      1. Schnellsuche in internen Dokumenten. Das braucht fast jedes Unternehmen. Sich durch Hierarchien wie Dateisysteme zu klicken, ist langsam, begrenzt und altmodisch.
      2. Schnellsuche in Code, die relevante Stellen findet, auch wenn Kommentare anders formuliert sind.
    • Bitte hört auf, Adtech besser zu machen. Jemand anderes wird es vielleicht tun, aber du musst es nicht sein.
  • Ich frage mich, ob das dem https://www.semanticscholar.org des Allen Institute for AI ähnelt.

    • Es wirkt eher wie diese Website: https://arxivxplorer.com/
    • Es ähnelt eher dem, was triilman kommentiert hat, aber alle Komponenten sind Open Source. Ich plane, bald Filter- und Keyword-Unterstützung hinzuzufügen. Tatsächlich warte ich auf Milvus.
  • Coole Idee.
    Als Feedback: Ich habe nach „wave function collapse algorithm“, „gumin wave function collapse“, „wfc“ und „model synthesis“ gesucht, aber keine relevanten Ergebnisse aus dem Forschungsbereich bekommen, der mich interessiert. Stattdessen kamen viele Papers zu Quantencomputing und anderer Physik.
    Der WFC algorithm ist für so eine Suche vielleicht ein schlechtes Beispiel, weil der Begriff mehrfach verwendet wird und nichts mit Quantenmechanik zu tun hat. Model synthesis ist ebenfalls zu allgemein und daher womöglich auch ein schlechtes Beispiel.
    Die erste Ergebnisseite bei arXiv selbst für „wave function collapse algorithm“ zeigt relevante Treffer.

    • arXiv ist eine Keyword-basierte Suchmaschine und sucht daher exakt nach den Wörtern im Text. PaperMatch versucht, semantisch näher liegende ähnliche Papers zu finden.
      Ein anderer Ansatz wäre: Wähle ein Paper aus, das dir gefällt, kopiere den Abstract oder die arXiv-ID aus arXiv und füge sie in PaperMatch ein; das sollte helfen, ähnliche Papers zu finden.