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/ChatGPT
usw.), 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
LIDA
Die 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.git
Sobald 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 venv
Aktivieren 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.txt
Datei. Nachdem Sie die virtuelle Umgebung aktiviert haben, führen Sie den folgenden Befehl aus, um sie zu installieren:pip install -r requirements.txt
Dieser 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
(beisecret
neben 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.env
Datei. 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 MachineLearning
Dieser Befehl übernimmt die Daten aus der Datei
r/MachineLearning
Der 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--subreddits
Parameter gibt ein oder mehrere Reddit-Unterboards an, wobei mehrere Boards durch Kommas und keine Leerzeichen getrennt sind.
ausnutzen--keywords
Der 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--limit
kann die Anzahl der zu crawlenden Beiträge begrenzt werden.python main.py --subreddits MachineLearning,StableDiffusion --keywords "LLM,GPT-4,Diffusion" --limit 50
Dieser Befehl übernimmt die Daten aus der Datei
r/MachineLearning
im Gesang antwortenr/StableDiffusion
Crawlen 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_analysis
Parameter.python main.py --subreddits ChatGPT --limit 20 --sentiment_analysis
Dies wird Auswirkungen haben auf die
r/ChatGPT
von 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_posts
Parameter. Außerdem müssen Sie die--llm_backend
Geben Sie das zu verwendende LLM-Backend an (openai
vielleichthuggingface
), und durch--model_name
Geben 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 50
Dieser Befehl verwendet OpenAIs
gpt-3.5-turbo
Modell, 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 100
Dieser Befehl verwendet das Hugging Face's
facebook/bart-large-cnn
Modell, 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_data
Parameter. Dieses Werkzeug verwendet dieLIDA
Die 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_dir
um 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_data
Alle erzeugten Dateien werden im Verzeichnis
AI_Reports
Ordner.
- 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.--limit
Optional. Die maximale Anzahl der zu erfassenden Beiträge, Standardwert ist 50.--llm_backend
Optional. Wählen Sie das LLM-Backend.openai
vielleichthuggingface
Wenn Sie Folgendes aktivierensummarize_posts
Dann muss es so sein.--model_name
Optional: Der Name des LLM-Modells, z. B.gpt-3.5-turbo
vielleichtfacebook/bart-large-cnn
.--summary_length
Optional. Die Länge (Anzahl der Wörter) der Zusammenfassung des Beitrags, Standardwert ist 100.--output_dir
Optional. Das Verzeichnis, in dem die Ergebnisse und Diagramme gespeichert werden; der Standardwert istresults
.--sentiment_analysis
Optional. Führt eine Stimmungsanalyse durch, falls vorhanden.--summarize_posts
: Optional. Fasst den Beitrag zusammen, wenn er existiert.--visualize_data
Optional. 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/MachineLearning
vielleichtr/ArtificialIntelligence
Anhand 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/ChatGPT
oder 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 " ".script
App-Typ" und geben Sie die erforderlichen Informationen zur App ein. Nach erfolgreicher Erstellung zeigt die Seite Ihreclient_id
im 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-turbo
und 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--subreddits
vielleicht--keywords
Parameter, setzen Sie einfach mehrere Unter-Panels oder Schlüsselwörter mit Komma,
Eine Trennung ist ausreichend. Beispiel:--subreddits MachineLearning,ChatGPT
vielleicht--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.