AI tools

Wie man ArXiv-Artikel zusammenfasst und ähnliche Artikel findet: Ein umfassender Leitfaden

Creating a tool for summarizing ArXiv articles and finding similar papers using AI.

Einführung

Das Volumen an Forschungsartikeln auf Plattformen wie arXiv kann überwältigend sein für Wissenschaftler, die versuchen, mit den neuesten Erkenntnissen Schritt zu halten. Dieses Tutorial wird Sie durch den Prozess führen, lange arXiv-Artikel in wichtige Punkte zusammenzufassen und ähnliche Arbeiten zu identifizieren. Diese Maßnahmen können Forschern helfen, das Wesentliche eines Artikels schnell zu erfassen und ihn im Rahmen des breiteren akademischen Diskurses zu kontextualisieren, um ein umfassendes Verständnis zu gewährleisten und redundante Forschungsanstrengungen zu vermeiden.

Dieser Artikel ist in zwei Teile unterteilt:

  • Generierung der Embeddings und Erstellung des Annoy-Index
  • Abfragen des Index zur Ermittlung verwandter Arbeiten und Erstellung von Zusammenfassungen

Teil 1: Annoy-Index erstellen

Voraussetzungen

Stellen Sie vor Beginn sicher, dass Sie Python 3.9 und pip auf Ihrem System installiert haben.

Schritte

1. Installation der Python-Pakete

Installieren Sie die erforderlichen Python-Pakete mit pip: pip install sentence-transformers annoy. Alternativ können Sie eine requirements.txt-Datei erstellen und die Pakete mit dem Befehl pip install -r requirements.txt installieren.

2. Kaggle arXiv-Datensatz

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

3. Daten vorverarbeiten

Laden Sie Ihren Datensatz und verarbeiten Sie ihn mit Python in das gewünschte Format vor. Lesen Sie die JSON-Datei mit arXiv-Metadaten und verketten Sie Titel und Abstracts mit einem '[SEP]'-Separator:

4. Embeddings mit SBERT generieren

Initialisieren Sie das SBERT-Modell (in diesem Fall das allenai-specter-Modell) und generieren Sie Embeddings für Ihre vorverarbeiteten Daten. Für ca. ~2 Millionen Artikel von arXiv bis Dezember 2022 dauerte dies:

  • 8+ Stunden auf RTX3080
  • 6 Stunden auf RTX4090
  • 1.5 Stunden auf A100 (Cloud)

5. Embeddings mit Annoy indexieren

Sobald Sie die Embeddings haben, können Sie sie mithilfe der Annoy-Bibliothek für eine schnelle Ähnlichkeitssuche indexieren. Wenn Sie keine GPU haben und mit der Verwendung des arXiv-Schnappschusses bis Dezember 2022 einverstanden sind, können Sie die erforderlichen Datensätze von den folgenden öffentlichen S3-URLs herunterladen:

Teil 2: Zusammenfassen und nach ähnlichen Artikeln auf arXiv suchen

Beschreibung

Dieses Tutorial wird Sie durch den Prozess führen, einen langen arXiv-Artikel in Schlüsselstellen zusammenzufassen, eine Idee basierend darauf zu generieren und ähnliche Arbeiten zu identifizieren. Wir werden Sentence Transformers für Embeddings, Annoy für die Indexierung und die OpenAI-API zur Erstellung der Zusammenfassung nutzen.

Voraussetzungen

Stellen Sie vor dem Fortfahren sicher, dass Sie:

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

Schritte

Schritt 1: Einrichten und Abhängigkeiten installieren

Installieren Sie zunächst die erforderlichen Pakete mit pip:

pip install Flask requests

Schritt 2: Laden und Vorverarbeiten von arXiv-Metadaten

Um Artikel zusammenzufassen und ähnliche Artikel zu finden, benötigen wir die Metadaten des Datensatzes. Verwenden Sie eine Vorverarbeitungsfunktion, um die JSON-Daten zu laden, Titel und Abstracts zu extrahieren und sie in Sätze zu kombinieren.

Schritt 3: Annoy-Index generieren

Verwenden Sie Annoy (Approximate Nearest Neighbors Oh Yeah), um einen Index zu laden, um in großen Datensätzen nach ähnlichen Vektoren zu suchen.

Schritt 4: Suchfunktion

Erstellen Sie eine Suchfunktion, die eine Abfrage entgegennimmt, deren Embedding mit Sentence Transformers berechnet und die nächstgelegenen Übereinstimmungen im Annoy-Index findet.

Schritt 5: Ergebnisse anzeigen

Sobald Sie die nächsten Übereinstimmungen gefunden haben, stellen Sie sicher, dass sie ordnungsgemäß formatiert und angezeigt werden.

Schritt 6: Verwendung von OpenAI für die Zusammenfassung

Verwenden Sie die OpenAI-API, um eine Zusammenfassung des arXiv-Artikels zu erstellen. Senden Sie den Titel, den Abstract und andere relevante Inhalte des Artikels an das OpenAI-Modell.

Schritt 7: Flask-Endpunkt

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

Schritt 8: Flask-Server ausführen

Führen Sie Ihre Flask-Anwendung aus und navigieren Sie zu: http://127.0.0.1:5000/search?q=ARXIV_URL (ersetzen Sie ARXIV_URL durch die gewünschte arXiv-Artikelseite).

Fazit

Sie haben jetzt ein Tool erstellt, das arXiv-Artikel zusammenfasst und ähnliche Artikel basierend auf ihrem Inhalt findet. Dieses Tool kann mit zusätzlichen Funktionen erweitert oder in größere Anwendungen integriert werden, um Forschern und Akademikern zu helfen.

Erforschen Sie weitere AI-Tutorials für alle Erfahrungsstufen und testen Sie Ihre Fähigkeiten bei AI-Hackathons in der lablab.ai-Community!

Tutorial-Referenz:

Weiterlesen

An infographic depicting efficient AI model training methods.
AI chatbot interface using Claude with a focus on 100,000 token context.

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.