Die Stimmungsanalyse in sozialen Medien kann sehr nützlich sein, um Ihre Marke, Ihre Konkurrenten oder jedes andere Thema von Interesse zu überwachen. In diesem Artikel zeigen wir Ihnen, wie Sie ein System erstellen, das soziale Medien wie Reddit, Hacker News, Linkedin, Twitter usw. abhört und dank generativer KI automatisch eine Stimmungsanalyse der Inhalte durchführt.
Unter Social Listening versteht man das Beobachten und Interpretieren von Gesprächen zu bestimmten Themen auf Social-Media-Plattformen, Bewertungsseiten und anderen Online-Kanälen.
Bei der Stimmungsanalyse hingegen werden die in einem Text ausgedrückten Meinungen als positiv, negativ oder neutral identifiziert und kategorisiert. Sie beinhaltet die Verwendung von natürlicher Sprachverarbeitung, Textanalyse und Computerlinguistik zur systematischen Identifizierung, Extraktion, Quantifizierung und Untersuchung affektiver Zustände und subjektiver Informationen.
Wenn Sie Social Listening und Stimmungsanalyse kombinieren, können Sie die Stimmung in Gesprächen über Ihre Marke oder Ihre Wettbewerber verfolgen und analysieren. Dies wird auch als "Markenstimmungsanalyse" bezeichnet. Die Analyse der Markenstimmung ermöglicht es Ihnen, automatisch zu verstehen, wie die Verbraucher über Ihre Marke oder Ihre Konkurrenten denken, Bereiche mit Verbesserungspotenzial zu identifizieren, sich in die richtige Konversation in den sozialen Medien einzuschalten, um mit potenziellen Kunden in Kontakt zu treten, und datengestützte Entscheidungen zu treffen, um den Ruf Ihrer Marke und die Kundentreue zu verbessern.
Um eine Social Listening-Plattform zu erstellen, müssen Sie sich mit einer Social Media-Plattform verbinden und alle neuen Beiträge und Kommentare abrufen, die die zu überwachenden Schlüsselwörter enthalten.
Dies ist leichter möglich, wenn die Plattform, die Sie überwachen wollen, eine API bereitstellt. Reddit bietet zum Beispiel eine API an, die Sie leicht nutzen können. Hier ist eine einfache cURL-Anfrage, die die letzten 100 Reddit-Beiträge abruft:
curl https://www.reddit.com/r/all/new/.json?limit=100
Und hier ist eine typische Antwort, die von ihrer API zurückgegeben wird:
{
"kind": "Listing",
"data": {
"after": "t3_1asad4n",
"dist": 100,
"modhash": "ne8fi0fr55b56b8a75f8075df95fa2f03951cb5812b0f9660d",
"geo_filter": "",
"children": [
{
"kind": "t3",
"data": {
"approved_at_utc": null,
"subreddit": "GunAccessoriesForSale",
"selftext": "Morning gents. I\u2019m looking to snag up your forgotten factory yellow spring for the 509T. I need to source one for a buddy who lost his and I cannot find any available anywhere! \n\nIf one of you have the yellow spring laying around, looking to pay $50 shipped\u2026 \n\nTo my 509t owners, it\u2019s the \u201clight\u201d spring that comes in a plastic bag in the carrying case. \n\nThanks in advance ",
"author_fullname": "t2_2ezh71n6",
"saved": false,
"mod_reason_title": null,
"gilded": 0,
"clicked": false,
"title": "[WTB] 509T yellow spring",
"link_flair_richtext": [],
"subreddit_name_prefixed": "r/GunAccessoriesForSale",
[...]
"contest_mode": false,
"mod_reports": [],
"author_patreon_flair": false,
"author_flair_text_color": "dark",
"permalink": "/r/GunAccessoriesForSale/comments/1asadbj/wtb_509t_yellow_spring/",
"parent_whitelist_status": null,
"stickied": false,
"url": "https://www.reddit.com/r/GunAccessoriesForSale/comments/1asadbj/wtb_509t_yellow_spring/",
"subreddit_subscribers": 182613,
"created_utc": 1708094934.0,
"num_crossposts": 0,
"media": null,
"is_video": false
}
},
[...]
]
}
}
Wir haben ein Tutorial erstellt, das zeigt, wie man Reddit mit einem einfachen Go-Programm überwachen kann. Lesen Sie hier mehr darüber, wie Sie Reddit mit Go überwachen können.
Jede Social-Media-Plattform hat ihre eigenen Feinheiten, auf die wir in diesem Artikel leider nicht eingehen können. Um Social-Media-Plattformen (wie Reddit, Linkedin, X, Hacker News und andere) einfach zu überwachen, sollten Sie sich bei einer speziellen Social-Listening-Plattform wie unserem KWatch.io-Dienst anmelden. Probieren Sie KWatch.io hier kostenlos aus.
Schlüsselwörter in Ihr KWatch.io-Dashboard einfügen
Einige der größten Herausforderungen bei der Durchführung von Social Media Listening sind das große Datenvolumen, das Sie zu bewältigen haben, die Tatsache, dass Sie von der Social-Media-Plattform blockiert werden können, wenn Sie zu viele Anfragen stellen, und die Tatsache, dass Sie die Daten intelligent behandeln müssen.
Im nächsten Abschnitt wird erläutert, wie Sie die gesammelten Daten in Ihr System integrieren.
Sobald Sie die Daten von Social-Media-Plattformen gesammelt haben, müssen Sie sie in einer Datenbank oder einem Data Warehouse speichern. So können Sie die Daten analysieren, Stimmungsanalysen durchführen und Erkenntnisse gewinnen.
Für die Speicherung von Social-Media-Daten (bei denen es sich im Grunde um reine Textdaten handelt) gibt es verschiedene Möglichkeiten, je nach Ihren Anforderungen und dem Umfang der Daten, mit denen Sie arbeiten. Einige gängige Optionen sind:
Wenn Sie eine Social Listening-Plattform abonniert haben, sollten Sie prüfen, ob diese eine Möglichkeit bietet, die Daten in Ihr System zu übertragen.
Webhooks, oft auch als "Web-Callbacks" oder "HTTP-Push-API" bezeichnet, dienen als Mittel, mit dem Anwendungen Echtzeitdaten mit anderen Anwendungen austauschen können. Dies geschieht durch die Erzeugung von HTTP-POST-Anfragen, wenn bestimmte Ereignisse eintreten, so dass Informationen umgehend an andere Anwendungen weitergeleitet werden.
Auf unserer Plattform KWatch.io sollten Sie zum Beispiel zum Abschnitt "Benachrichtigungen" gehen und eine Webhook-URL festlegen, die auf Ihr System verweist.
API Webhook auf KWatch.io
So sieht der KWatch.io-Webhook aus (es handelt sich um eine JSON-Nutzlast):
{
"platform": "reddit",
"query": "Keywords: vllm",
"datetime": "19 Jan 24 05:52 UTC",
"link": "https://www.reddit.com/r/LocalLLaMA/comments/19934kd/sglang_new/kijvtk5/",
"content": "sglang runtime has a different architecture on the higher-level part with vllm.",
}
Wenn Sie neu in diesem Bereich sind, können Sie diese Webhooks mühelos in Python mit FastAPI empfangen.
Installieren Sie FastAPI mit dem Uvicorn-Server:
pip install fastapi uvicorn
Erstellen Sie nun eine neue Python-Datei und fügen Sie den folgenden Code ein (möglicherweise müssen Sie dieses Skript anpassen):
# Import necessary modules
from fastapi import FastAPI
from pydantic import BaseModel
# Initialize your FastAPI app
app = FastAPI()
# Update the Pydantic model to properly type-check and validate the incoming data
class WebhookData(BaseModel):
platform: str
query: str
datetime: str
link: str
content: str
# Define an endpoint to receive webhook data
@app.post("/kwatch-webhooks")
async def receive_webhook(webhook_data: WebhookData):
# Process the incoming data
# For demonstration, we're just printing it
print("Received webhook data:", webhook_data.dict())
# Return a response
return {"message": "Webhook data received successfully"}
if __name__ == "__main__":
# Run the server with Uvicorn
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
Speichern Sie die Datei und starten Sie den Server mit dem folgenden Befehl:
uvicorn webhook_server:app — reload — host 0.0.0.0 — port 8000
Ihr Server ist nun in Betrieb und bereit, Webhooks von KWatch.io zu empfangen.
Sobald Sie die Daten aus den sozialen Medien gesammelt und gespeichert haben, können Sie sie einer Stimmungsanalyse unterziehen.
Die genaueste Art, eine Stimmungsanalyse eines Textes zu einem bestimmten Schlüsselwort durchzuführen, ist heute die Verwendung generativer KI-Modelle wie GPT-4, LLaMA 3, ChatDolphin usw. Diese LLMs sind nicht unbedingt schnell und können im großen Maßstab kostspielig sein, aber sie garantieren Ergebnisse auf dem neuesten Stand der Technik. Wenn Sie sehr große Mengen an Keywords analysieren müssen, sollten Sie die Kosten senken, indem Sie kleinere Modelle verwenden oder Ihr eigenes Modell feinabstimmen.
Sie können Ihr eigenes KI-Modell einsetzen oder eine KI-API wie OpenAI oder NLP Cloud nutzen. In diesem Artikel werden wir die KI-API der NLP Cloud nutzen.
Sie können sich bei NLP Cloud registrieren und Ihren API-Schlüssel hier abrufen.Ihre Anfrage muss nicht zu komplex sein. Hier ist zum Beispiel ein Kommentar auf Reddit, über OpenAI:
Ein Kommentar auf Reddit über OpenAI
Lassen Sie uns das ChatDolphin-Modell auf NLP Cloud verwenden, um die Stimmung über OpenAI in diesem Reddit-Kommentar zu analysieren. Installieren Sie zunächst den NLP Cloud Python-Client:
pip install nlpcloud
Jetzt können Sie die Stimmung des Reddit-Kommentars mit dem folgenden Python-Code analysieren:
import nlpcloud
brand = "OpenAI"
reddit_comment = "Wasn't it the same with all OpenAI products? Amazing and groundbreaking at first, soon ruined by excessive censorship and outpaced by the competitors"
client = nlpcloud.Client("chatdolphin", "your api token", gpu=True)
print(client.generation(f"What is the sentiment about {brand} in the following comment? Positive, negative, or neutral? Answer with 1 word only.\n\n{reddit_comment}"))
Die Antwort wird sein:
Negative
Lassen Sie uns nun einpacken und den endgültigen Code schreiben, der den API-Webhook abhört und eine Stimmungsanalyse der Daten durchführt:
from fastapi import FastAPI
from pydantic import BaseModel
import nlpcloud
client = nlpcloud.Client("dolphin", "your api token", gpu=True)
app = FastAPI()
class WebhookData(BaseModel):
platform: str
query: str
datetime: str
link: str
content: str
@app.post("/kwatch-webhooks")
async def receive_webhook(webhook_data: WebhookData):
brand = "OpenAI"
print(client.generation(f"""What is the sentiment about {brand} in the following comment? Positive, negative, or neutral? Answer with 1 word only.\n\n
{webhook_data.content}"""))
return {"message": "Webhook data received successfully"}
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
Wie Sie sehen, ist es möglich, die Stimmungsanalyse von Social Media-Daten mit Hilfe moderner generativer KI-Modelle und effizienter Social Listening Tools zu automatisieren. Dieser Ansatz kann in verschiedenen Szenarien des Social Media Monitoring angewendet werden. Hier sind einige Ideen:
Die Produktion eines solchen Programms kann jedoch eine Herausforderung darstellen. Erstens, weil soziale Medien nicht so leicht zu überwachen sind, aber auch, weil generative KI-Modelle bei großen Datenmengen kostspielig sein können.
Wenn Sie ein solches System nicht selbst aufbauen und pflegen möchten, empfehlen wir Ihnen, stattdessen unsere KWatch.io-Plattform zu nutzen, da wir soziale Medien automatisch überwachen und eine Stimmungsanalyse der erkannten Beiträge und Kommentare durchführen: hier auf KWatch.io registrieren.
Arthur
CTO bei KWatch.io