Reddit AI Trend Reports ist ein Open-Source-Python-Projekt. Es soll Nutzern helfen, Trends in Diskussionen über künstliche Intelligenz (KI) in der Reddit-Community automatisch zu verfolgen und zu analysieren. Das Tool ist in der Lage, relevante Beiträge aus benutzerdefinierten Reddit-Unterforen zu erfassen. Anschließend fasst es den Inhalt zusammen, führt eine Stimmungsanalyse durch und identifiziert beliebte Schlüsselwörter für diese Beiträge. Schließlich generiert es eine Reihe von Datenvisualisierungsdiagrammen, um den Nutzern ein visuelles Verständnis der aktuellen Themen und der Stimmung in der Community im Bereich KI zu vermitteln. Dieses Tool ist ideal für KI-Forscher, Marktanalysten und alle, die sich für das Thema KI auf Reddit interessieren, und verbessert effektiv die Effizienz der Informationsbeschaffung und -analyse.
Funktionsliste
- Reddit-Beiträge abgreifen: von einem benutzerdefinierten Reddit-Unter-Panel (z. B.
r/MachineLearning,r/StableDiffusion,r/ChatGPTusw.), um die neuesten oder beliebtesten Beiträge zu erhalten. - Schlüsselwort-FilterungFilterung der gecrawlten Beiträge nach einer vom Benutzer festgelegten Liste von Schlüsselwörtern, wobei nur relevante Inhalte erhalten bleiben.
- Sentiment-AnalyseAutomatisierte Stimmungsanalyse von Beitragstiteln und -inhalten, um die positive, negative oder neutrale Einstellung der Community zu bestimmten AI-Themen zu ermitteln.
- Zusammenfassung des BeitragsinhaltsZusammenfassung des Inhalts eines Beitrags mit Hilfe eines großen Sprachmodells (Large Language Model, LLM), um schnell die Kernideen und -aussagen des Beitrags herauszuarbeiten.
- Unterstützt OpenAI API als Zusammenfassungs-Backend, wodurch Modelle wie GPT-3.5 verwendet werden können.
- Unterstützung für Hugging Face-Modelle als Zusammenfassungs-Backend, was die Verwendung von mehr Open-Source-Modellen ermöglicht.
- Identifizierung von SchlüsselwörternAnalyse des Beitragsinhalts zur automatischen Erkennung und Identifizierung aktueller Schlüsselwörter und Trends im Bereich AI auf Reddit.
- Visualisierung der Daten:: Verwertung
LIDADie Bibliothek erzeugt automatisch verschiedene Diagramme zur Datenvisualisierung. Zu diesen Diagrammen gehören u. a. Balkendiagramme, Liniendiagramme, Streudiagramme und Wortwolken, die den Benutzern helfen, die Daten intuitiver zu verstehen. - Ergebnis AusgabeSpeichern Sie die Ergebnisse der Analyse (einschließlich Rohdaten, Zusammenfassungen und Stimmungsbewertungen) als Datei im CSV- oder JSON-Format. Die erzeugten Diagramme werden dann als Bilddateien gespeichert.
Hilfe verwenden
Reddit AI Trend Analyser ist ein Python-basiertes Kommandozeilen-Tool. Die Benutzer benötigen einige Grundkenntnisse der Python-Operationen und der Kommandozeile, um es zu benutzen. Im Folgenden werden die Installations- und Nutzungsschritte sowie der Ablauf der Hauptfunktionen detailliert beschrieben.
Schritt 1: Vorbereiten der Umgebung und Installation
Bevor Sie dieses Tool verwenden, müssen Sie Ihre Python-Umgebung vorbereiten und alle Abhängigkeiten installieren.
- Code-Repository klonen:
Öffnen Sie zunächst Ihr Terminal oder Kommandozeilenprogramm. Führen Sie dann den folgenden Befehl aus, um den Code des Projekts von GitHub auf Ihren lokalen Computer zu klonen.git clone https://github.com/liyedanpdx/reddit-ai-trends.gitSobald das Klonen abgeschlossen ist, wechseln Sie in das Verzeichnis, in dem sich das Projekt befindet.
cd reddit-ai-trends - Erstellen und Aktivieren einer virtuellen Umgebung:
Um Konflikte mit anderen Python-Projekten auf Ihrem System zu vermeiden, empfiehlt es sich, eine separate virtuelle Python-Umgebung für dieses Tool zu erstellen.
Erstellen Sie eine virtuelle Umgebung:python -m venv venvAktivieren Sie die virtuelle Umgebung:
- auf macOS- oder Linux-Systemen:
source venv/bin/activate - Unter Windows:
.\venv\Scripts\activate
Nachdem Sie die virtuelle Umgebung aktiviert haben, erscheint vor der Eingabeaufforderung die Meldung
(venv)und zeigt damit an, dass Sie die virtuelle Umgebung betreten haben. - auf macOS- oder Linux-Systemen:
- Projektabhängigkeiten installieren:
Alle Bibliotheken, von denen das Projekt abhängig ist, sind in der Dateirequirements.txtDatei. Nachdem Sie die virtuelle Umgebung aktiviert haben, führen Sie den folgenden Befehl aus, um sie zu installieren:pip install -r requirements.txtDieser Vorgang kann je nach Ihrer Internetgeschwindigkeit einige Zeit dauern.
- API-Anmeldeinformationen abrufen:
Dieses Tool benötigt Zugriff auf die Reddit-API für Beitragsdaten und die Large Language Model (LLM) API für die Zusammenfassung von Beitragsinhalten. Daher benötigen Sie Zugang zu den folgenden Anmeldeinformationen:- Reddit API-Anmeldeinformationen (PRAW):
- Besuchen Sie die Reddit-Entwicklerseite.
- Klick "
are you a developer? create an app...("Sind Sie ein Entwickler? Erstellen Sie eine App...). - Wählen Sie "
script"Typ. - Geben Sie den Namen der Anwendung ein (z. B.
RedditAITrendsTracker), Beschreibung. - In "
redirect uri"Füllen Sie dashttp://localhost:8080(Diese URL muss nicht real sein, aber sie muss ausgefüllt werden). - Klick "
create app". - Nach erfolgreicher Erstellung sehen Sie
client_id(Unter dem Namen der Anwendung, z. B.xxxxxxxxxxxxxx) undclient_secret(beisecretneben den Wörtern). - Sie benötigen außerdem eine
user_agent. Dies ist normalerweise Ihr Reddit-Benutzername oder eine Zeichenfolge, die Ihre App beschreibt (z. B.RedditAITrendsTracker by u/YourRedditUsername).
- LLM-API-Berechtigungsnachweise:
Dieses Tool unterstützt OpenAI und Hugging Face als LLM-Backends.- OpenAI API-SchlüsselWenn Sie das GPT-Modell für die Zusammenfassung verwenden möchten, benötigen Sie einen OpenAI-API-Schlüssel, den Sie auf der OpenAI-Website erhalten.
- Gesicht umarmen API-TokenWenn Sie das Hugging Face-Modell verwenden möchten, benötigen Sie ein Hugging Face-API-Token. Besuchen Sie die Hugging Face-Website, um eines zu erhalten.
- Reddit API-Anmeldeinformationen (PRAW):
- Umgebungsvariablen konfigurieren:
Erstellen Sie im Stammverzeichnis des Projekts eine Datei mit dem Namen.envDatei. Geben Sie in diese Datei die soeben erhaltenen API-Anmeldedaten ein. Achten Sie darauf, dass Sie diese Informationen nur lokal speichern und nicht veröffentlichen.# Reddit API 凭证 REDDIT_CLIENT_ID='你的Reddit Client ID' REDDIT_CLIENT_SECRET='你的Reddit Client Secret' REDDIT_USER_AGENT='你的Reddit User Agent' REDDIT_USERNAME='你的Reddit 用户名' REDDIT_PASSWORD='你的Reddit 密码' # 注意:出于安全考虑,如果不需要发帖等操作,可以不提供密码,只使用匿名访问。 # LLM API 凭证 (选择其中一个或都配置) OPENAI_API_KEY='你的OpenAI API Key' HUGGINGFACE_API_TOKEN='你的Hugging Face API Token'
Schritt 2: Ausführen und verwenden
Sobald Sie Ihre Umgebung und Ihre Anmeldedaten konfiguriert haben, können Sie mit der Ausführung der main.py Skript, um die Analyseaufgabe jetzt durchzuführen. Skripte steuern ihr Verhalten über Befehlszeilenargumente.
- Grundlegende Laufbefehle:
Am einfachsten ist es, wenn Sie das zu durchsuchende Reddit-Unter-Panel angeben.python main.py --subreddits MachineLearningDieser Befehl übernimmt die Daten aus der Datei
r/MachineLearningDer Teilbereich erfasst eine Standardanzahl von Beiträgen, fasst sie aber nicht zusammen, analysiert die Stimmung nicht und visualisiert sie nicht. - Kernfunktion Betriebsablauf:
- Abrufen und Filtern von Beiträgen:
ausnutzen--subredditsParameter gibt ein oder mehrere Reddit-Unterboards an, wobei mehrere Boards durch Kommas und keine Leerzeichen getrennt sind.
ausnutzen--keywordsDer Parameter ermöglicht das Filtern von Beiträgen anhand von Schlüsselwörtern. Nur Beiträge, deren Titel oder Inhalt diese Schlüsselwörter enthalten, werden verarbeitet. Mehrere Schlüsselwörter werden ebenfalls durch Kommas getrennt.
ausnutzen--limitkann die Anzahl der zu crawlenden Beiträge begrenzt werden.python main.py --subreddits MachineLearning,StableDiffusion --keywords "LLM,GPT-4,Diffusion" --limit 50Dieser Befehl übernimmt die Daten aus der Datei
r/MachineLearningim Gesang antwortenr/StableDiffusionCrawlen Sie bis zu 50 Beiträge, die die Schlüsselwörter "LLM", "GPT-4" oder "Diffusion" enthalten. - Durchführung von Stimmungsanalysen:
Um eine Stimmungsanalyse für einen Beitrag durchzuführen, fügen Sie einfach den Befehl--sentiment_analysisParameter.python main.py --subreddits ChatGPT --limit 20 --sentiment_analysisDies wird Auswirkungen haben auf die
r/ChatGPTvon 20 Beiträgen wurden analysiert, und die Stimmungswerte wurden in die Ergebnisse aufgenommen. - Zusammenfassung des Beitragsinhalts:
Um die Funktion der Beitragszusammenfassung zu aktivieren, müssen Sie Folgendes hinzufügen--summarize_postsParameter. Außerdem müssen Sie die--llm_backendGeben Sie das zu verwendende LLM-Backend an (openaivielleichthuggingface), und durch--model_nameGeben Sie das spezifische Modell an.- Zusammenfassen mit OpenAI:
python main.py --subreddits MachineLearning --limit 10 --summarize_posts --llm_backend openai --model_name gpt-3.5-turbo --summary_length 50Dieser Befehl verwendet OpenAIs
gpt-3.5-turboModell, das den Inhalt der einzelnen Beiträge in etwa 50 Wörtern zusammenfasst. - Zusammenfassen mit umarmendem Gesicht:
python main.py --subreddits StableDiffusion --limit 10 --summarize_posts --llm_backend huggingface --model_name facebook/bart-large-cnn --summary_length 100Dieser Befehl verwendet das Hugging Face's
facebook/bart-large-cnnModell, das den Inhalt eines jeden Beitrags in etwa 100 Wörtern zusammenfasst. Achten Sie darauf, dass das von Ihnen gewählte Modell ein Zusammenfassungsmodell ist.
- Zusammenfassen mit OpenAI:
- Erzeugen von Datenvisualisierungen:
Um Diagramme automatisch zu erstellen, fügen Sie die--visualize_dataParameter. Dieses Werkzeug verwendet dieLIDADie Bibliothek erstellt automatisch eine Vielzahl von Diagrammen auf der Grundlage der erfassten Daten.python main.py --subreddits ChatGPT,MachineLearning --limit 100 --visualize_data --output_dir my_results ``` 这个命令不仅会抓取数据,还会生成图表并保存到 `my_results` 文件夹中。 - Geben Sie das Ausgabeverzeichnis an:
ausnutzen--output_dirum das Verzeichnis anzugeben, in dem die Analyseergebnisse (CSV-, JSON-Dateien und generierte Bilder) gespeichert werden. Wenn das Verzeichnis nicht vorhanden ist, wird es vom Skript automatisch erstellt.python main.py --subreddits AITech --limit 30 --output_dir AI_Reports --summarize_posts --visualize_dataAlle erzeugten Dateien werden im Verzeichnis
AI_ReportsOrdner.
- Abrufen und Filtern von Beiträgen:
Liste der Befehlszeilenparameter
Dies ist eine vollständige Liste der vom Skript unterstützten Parameter:
--subreddits: Erforderlich. Durch Kommata getrennte Liste der Namen der Reddit-Unterplatten.--keywords: Optional. Kommagetrennte Liste von Schlüsselwörtern zum Filtern von Beiträgen.--limitOptional. Die maximale Anzahl der zu erfassenden Beiträge, Standardwert ist 50.--llm_backendOptional. Wählen Sie das LLM-Backend.openaivielleichthuggingfaceWenn Sie Folgendes aktivierensummarize_postsDann muss es so sein.--model_nameOptional: Der Name des LLM-Modells, z. B.gpt-3.5-turbovielleichtfacebook/bart-large-cnn.--summary_lengthOptional. Die Länge (Anzahl der Wörter) der Zusammenfassung des Beitrags, Standardwert ist 100.--output_dirOptional. Das Verzeichnis, in dem die Ergebnisse und Diagramme gespeichert werden; der Standardwert istresults.--sentiment_analysisOptional. Führt eine Stimmungsanalyse durch, falls vorhanden.--summarize_posts: Optional. Fasst den Beitrag zusammen, wenn er existiert.--visualize_dataOptional. Falls vorhanden, wird ein Diagramm zur Datenvisualisierung erstellt.
Durch die Kombination dieser Parameter haben Sie die Flexibilität, das Reddit AI Trend Analysis Tool nach Ihren Bedürfnissen zu konfigurieren und auszuführen.
Anwendungsszenario
- KI-Forscher spüren Technologie-Hotspots auf
Durch die Analyse vonr/MachineLearningvielleichtr/ArtificialIntelligenceAnhand der Beiträge in diesen Foren können sich Forscher schnell über die neuesten Forschungsergebnisse, beliebte Algorithmen und Branchentrends informieren und so ihre Forschungsrichtung anpassen. - Marktanalysten erhalten Einblick in die Stimmung der Nutzer von KI-Produkten
Marktanalysten können Folgendes beobachtenr/ChatGPToder eine bestimmte KI-Produkt-Community mit Funktionen zur Stimmungsanalyse, um die Reaktionen und Emotionen der Nutzer auf neue Funktionen, Aktualisierungen oder konkurrierende Produkte zu verstehen und Daten zur Unterstützung der Produktstrategie bereitzustellen. - Inhaltsersteller auf der Suche nach KI-bezogenen Themen
Selbständige Autoren oder Blogger können dieses Tool nutzen, um aktuelle Themen und Schlüsselwörter zum Thema KI auf Reddit zu identifizieren, um Inhalte zu erstellen, die bei den Lesern beliebter sind, und die Leserschaft und Interaktion mit ihren Artikeln zu erhöhen. - Tool zur Überwachung von KI-Entwicklern oder Feedback der Community zum Framework
Entwickler können Unterforen zu bestimmten KI-Frameworks (z. B. TensorFlow, PyTorch) oder Tools (z. B. Stable Diffusion) verfolgen, um Probleme, Funktionsanfragen und Nutzungserfahrungen von Nutzern zu sammeln und das Produkt zu verbessern.
QA
- F: Wie erhalte ich Reddit-API-Anmeldeinformationen?
A: Sie müssen die Reddit-Entwicklerseite besuchenhttps://www.reddit.com/prefs/apps/. Erstellen einer " ".scriptApp-Typ" und geben Sie die erforderlichen Informationen zur App ein. Nach erfolgreicher Erstellung zeigt die Seite Ihreclient_idim Gesang antwortenclient_secret. Gleichzeitig müssen Sie die App mit eineruser_agent. - F: Warum benötige ich einen LLM-API-Schlüssel?
A: Der LLM-API-Schlüssel wird für den Aufruf des Large Language Modelling Service verwendet. Dieses Tool verwendet LLM, um den Inhalt von Reddit-Beiträgen automatisch zusammenzufassen. Wenn Sie das GPT-Modell von OpenAI oder andere Modelle auf Hugging Face für die Zusammenfassung verwenden möchten, müssen Sie den entsprechenden API-Schlüssel oder Token angeben. - F: Welche LLM-Modelle werden für die Nachverdichtung unterstützt?
A: Wenn Sie OpenAI als Ihr Backend wählen, können Sie diegpt-3.5-turbound andere verschiedene Modelle, die von OpenAI unterstützt werden. Wenn Sie sich für Hugging Face als Backend entscheiden, können Sie jedes beliebige Modell aus der Hugging Face-Modellbibliothek verwenden, das für Textzusammenfassungsaufgaben geeignet ist, z. B.facebook/bart-large-cnn. Sie müssen dies in der Befehlszeile anhand des Namens des Modells angeben. - F: Wie kann ich mehrere Reddit-Unterabschnitte oder Schlüsselwörter angeben?
A: In der Befehlszeile verwenden Sie--subredditsvielleicht--keywordsParameter, setzen Sie einfach mehrere Unter-Panels oder Schlüsselwörter mit Komma,Eine Trennung ist ausreichend. Beispiel:--subreddits MachineLearning,ChatGPTvielleicht--keywords "LLM,Diffusion". Bitte beachten Sie, dass vor und nach dem Komma keine Leerzeichen stehen dürfen. - F: Ich habe keine Grundkenntnisse in Python, kann ich dieses Tool verwenden?
A: Bei diesem Tool handelt es sich um ein Python-basiertes Befehlszeilenskript, das vom Benutzer im Terminal oder in der Befehlszeile ausgeführt werden muss. Daher müssen Sie mit der grundlegenden Konfiguration der Python-Umgebung, den Operationen in der virtuellen Umgebung und der Verwendung von Befehlszeilenargumenten vertraut sein. Wenn Sie keinerlei Erfahrung mit Python oder der Kommandozeile haben, müssen Sie sich möglicherweise erst einige Grundlagen aneignen, bevor Sie das Tool reibungslos nutzen können.





























