AI

Wie man arXiv-Artikel zusammenfasst und ähnliche Artikel für effektive Forschung findet

An illustration depicting the process of summarizing arXiv articles and finding similar papers.

Einführung

Das Volumen an Forschungsartikeln auf Plattformen wie arXiv kann überwältigend sein für Wissenschaftler, die versuchen, mit den neuesten Ergebnissen Schritt zu halten. Dieses Tutorial soll Ihnen den Prozess des Zusammenfassens von langen arXiv-Artikeln in zentrale Punkte und die Identifizierung ähnlicher Arbeiten näherbringen. Diese Maßnahmen können Forschern helfen, die Essenz eines Papiers schnell zu erfassen und es im Kontext der breiteren akademischen Diskussion zu verorten, um ein umfassendes Verständnis sicherzustellen und redundante Forschungsanstrengungen zu vermeiden.

Dieser Artikel ist in zwei Teile gegliedert:

  • Erzeugen der Embeddings und Erstellen des Annoy-Index
  • Abfragen des Index zur Auffindung verwandter Artikel und Erzeugen von Zusammenfassungen

Teil 1: Erstellen des Annoy-Index

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Python 3.9 und pip auf Ihrem System installiert haben.

Schritte

Installation der Python-Pakete

Installieren Sie die erforderlichen Python-Pakete mit pip:

pip install sentence-transformers annoy flask requests

Alternativ können Sie eine requirements.txt-Datei erstellen und die Pakete mit:
pip install -r requirements.txt
und den folgenden Inhalten installieren:

sentence-transformers
annoy
flask
requests

Kaggle arXiv-Datensatz

Um fortzufahren, erstellen Sie ein Kaggle-Konto und laden Sie den arXiv-Datensatz mit begrenzten Metadaten herunter. Nach dem Herunterladen entpacken Sie die Datei, um eine JSON-Datei zu finden.

Daten vorverarbeiten

Laden Sie Ihren Datensatz und verarbeiten Sie ihn in das gewünschte Format vor. Hier lesen wir eine JSON-Datei mit ArXiv-Metadaten und verketten die Titel und Abstracts mit einem '[SEP]'-Trennzeichen:

Embeddings mit SBERT erzeugen

Initialisieren Sie das SBERT-Modell und erzeugen Sie Embeddings für Ihre vorverarbeiteten Daten. Wir verwenden das allenai-specter-Modell, das speziell für wissenschaftliche Arbeiten trainiert wurde. Für etwa ~2 Millionen Artikel von arXiv bis Dezember 2022 benötigte es:

  • RTX 3080 (16GB): 8 Stunden
  • RTX 4090 (16 GB): 5 Stunden
  • A100 (80 GB) (in der Cloud): 1 Stunde

Passen Sie die batch_size basierend auf dem GPU-Speicher für optimale Leistung an.

Index-Embeddings mit Annoy

Sobald Sie die Embeddings haben, ist der nächste Schritt, sie für eine schnelle Ähnlichkeitssuche zu indizieren. Wir verwenden die Annoy-Bibliothek wegen ihrer Effizienz:

Falls Sie keine GPU haben, können Sie auch öffentliche S3-URLs verwenden, um die notwendigen Datensätze herunterzuladen:

  • Annoy-Index von 2 Millionen arXiv-Artikeln: S3 URL: https://arxiv-r-1228.s3.us-west-1.amazonaws.com/annoy_index.ann
  • Datensatz von 2 Millionen arXiv-Artikeln: S3 URL: https://arxiv-r-1228.s3.us-west-1.amazonaws.com/arxiv-metadata-oai-snapshot.json
  • Embedding-Numpy-Datei: S3 URL: https://arxiv-r-1228.s3.us-west-1.amazonaws.com/embeddings.npy

Teil 2: Zusammenfassen und Suchen nach ähnlichen Artikeln auf Arxiv

Beschreibung

Dieser Teil des Tutorials führt Sie durch das Zusammenfassen eines langen arXiv-Artikels in zentrale Punkte und die Identifizierung ähnlicher Arbeiten, unter Verwendung von Sentence Transformers für Embeddings und der OpenAI-API für die Zusammenfassung.

Voraussetzungen

Bevor Sie fortfahren, stellen Sie sicher, dass Sie Folgendes haben:

  • Python 3+
  • Flask zum Erstellen eines Endpunkts
  • Kenntnisse in JSON, Annoy und Sentence Transformers

Schritte

Schritt 1: Einrichten und Installieren der Abhängigkeiten

Zuerst installieren Sie die erforderlichen Pakete, wie bereits erwähnt.

Schritt 2: Laden und Vorverarbeiten der arXiv-Metadaten

Um ähnliche Artikel zusammenzufassen und zu finden, benötigen wir die Metadaten des Datensatzes. Die Vorverarbeitungsfunktion erledigt dies, indem sie die JSON-Daten lädt, Titel und Abstracts extrahiert und sie zu Sätzen kombiniert.

Schritt 3: Annoy-Index erzeugen

Annoy (Approximate Nearest Neighbors Oh Yeah) wird verwendet, um ähnliche Vektoren in großen Datensätzen zu suchen. Laden Sie einen Annoy-Index mit einem Dateinamen.

Schritt 4: Suchfunktion

Die Suchfunktion nimmt eine Abfrage entgegen, berechnet deren Embedding mit Sentence Transformers und findet die nächstgelegenen Übereinstimmungen in unserem Annoy-Index.

Schritt 5: Ergebnisse anzeigen

Sobald wir die nächstgelegenen Übereinstimmungen gefunden haben, formatieren und zeigen wir diese dem Benutzer an.

Schritt 6: Verwendung von OpenAI zur Zusammenfassung

Wir werden die API von OpenAI verwenden, um eine Zusammenfassung des ausgewählten arXiv-Artikels zu erstellen. Der Titel, der Abstract und der Inhalt des Artikels werden an das Modell von OpenAI gesendet.

Schritt 7: Flask-Endpunkt

Erstellen Sie einen Endpunkt in Flask, der die arXiv-URL verarbeitet, den Artikel zusammenfasst, nach ähnlichen Publikationen sucht und eine formatierte HTML-Antwort zurückgibt.

Schritt 8: Flask-Server ausführen

Führen Sie schließlich Ihre Flask-Anwendung aus und navigieren Sie zu: http://127.0.0.1:5000/search?q=ARXIV_URL, wobei ARXIV_URL durch Ihre spezifische arXiv-Artikel-URL ersetzt wird.

Fazit

Herzlichen Glückwunsch! Sie haben nun ein wertvolles Werkzeug erstellt, das arXiv-Artikel zusammenfasst und ähnliche Arbeiten basierend auf deren Inhalt findet. Dieses Werkzeug kann mit zusätzlichen Funktionen erweitert oder in größere Anwendungen integriert werden, um Forschern und Akademikern zu helfen.

Entdecken Sie weitere KI-Tutorials für verschiedene Fähigkeitsstufen und stellen Sie Ihre Fähigkeiten bei KI-Hackathons innerhalb der lablab.ai-Community auf die Probe!

Tutorial-Referenz:

GitHub Repository

Autor: [Ihr Name hier]

Weiterlesen

AI assistant app structure using Anthropic's Claude and LangChain tutorial.
A professional creating content for LinkedIn using AutoGPT AI tool.

Hinterlasse einen Kommentar

Alle Kommentare werden vor der Veröffentlichung geprüft.

Diese Website ist durch hCaptcha geschützt und es gelten die allgemeinen Geschäftsbedingungen und Datenschutzbestimmungen von hCaptcha.