DE202020005789U1 - Ereignisdetektierung in Echtzeit auf sozialen Datenströmen - Google Patents

Ereignisdetektierung in Echtzeit auf sozialen Datenströmen Download PDF

Info

Publication number
DE202020005789U1
DE202020005789U1 DE202020005789.4U DE202020005789U DE202020005789U1 DE 202020005789 U1 DE202020005789 U1 DE 202020005789U1 DE 202020005789 U DE202020005789 U DE 202020005789U DE 202020005789 U1 DE202020005789 U1 DE 202020005789U1
Authority
DE
Germany
Prior art keywords
cluster
cluster group
trending
entities
similarity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE202020005789.4U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Twitter Inc
Original Assignee
Twitter Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Twitter Inc filed Critical Twitter Inc
Publication of DE202020005789U1 publication Critical patent/DE202020005789U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services

Abstract

Vorrichtung, umfassend:
einen oder mehrere Prozessoren; und
eine oder mehrere Speicherungsvorrichtungen, die Anweisungen speichern, die, wenn durch den einen oder die mehreren Prozessoren ausgeführt, den einen oder die mehreren Prozessoren veranlassen, Operationen einer Nachrichtenplattform auszuführen, wobei die Operationen umfassen:
Identifizieren mehrerer ersten Trending-Entitäten über einen ersten Zeitraum aus Nachrichten, die an die Nachrichtenplattform gepostet wurden;
Identifizieren mehrerer zweiten Trending-Entitäten über einen zweiten Zeitraum aus den Nachrichten, die an die Nachrichtenplattform gepostet wurden;
Detektieren einer ersten Cluster-Gruppe aus den mehreren ersten Trending-Entitäten, wobei die erste Cluster-Gruppe mindestens zwei Trending-Entitäten umfasst, die als einander ähnlich über den ersten Zeitraum identifiziert sind;
Detektieren einer zweiten Cluster-Gruppe aus den mehreren zweiten Trending-Entitäten, wobei die zweite Cluster-Gruppe mindestens zwei Trending-Entitäten umfasst, die als einander ähnlich über den zweiten Zeitraum identifiziert sind;
Bestimmen, dass die zweite Cluster-Gruppe mit der ersten Cluster-Gruppe verwandt ist;
Erzeugen einer Cluster-Kette durch Erzeugen eines Links zwischen der zweiten Cluster-Gruppe und der ersten Cluster-Gruppe, wobei die Cluster-Kette ein Ereignis über den ersten und zweiten Zeitraum darstellt; und
Speichern der Cluster-Kette in einer Speichervorrichtung.

Description

  • Nach den Bestimmungen des Gebrauchsmustergesetzes sind nur Vorrichtungen, wie sie in den beigefügten Schutzansprüchen definiert sind, schutzfähig und Gegenstand des Gebrauchsmusters, nicht aber Verfahren. Soweit in der nachfolgenden Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen nur der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen geschützten Vorrichtung(en).
  • VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität der vorläufigen U.S. Patentanmeldung Nr. 62/798,388 , eingereicht am 29. Januar, 2019, mit dem Titel „Ereignisdetektierung in Echtzeit auf sozialen Datenströmen“, deren Offenbarung hier in ihrer Gesamtheit aufgenommen ist.
  • HINTERGRUND
  • Soziale Netzwerke werden schnell das primäre Medium zum Erläutern, was um Ereignissen in der realen Welt geschieht. Einige herkömmliche Vorgehensweisen können ein Bestimmen beinhalten, welche Ereignisse auf der sozialen Medienplattform bei einer gegebenen zeitlichen Instanz erläutert werden, z.B., einer Zeitpunktanalyse. Diese herkömmlichen Vorgehensweisen können jedoch scheitern, die Entwicklung des Ereignisses zu berücksichtigen und können gegen Speicherprobleme mit hochvolumigen Datensätzen oder Themenzählwerten empfänglich sein, die häufig in einem umfangreichen sozialen Mediennetzwerk erzeugt werden.
  • KURZFASSUNG
  • Techniken, Verfahren und Systeme werden hier zur Ereignisdetektierung offenbart, die Ereignisse im Zeitverlauf verfolgen, was ein Modellieren eines Ereignisses als eine Cluster-Kette umfasst, z.B., eine Liste von verlinkten Cluster-Gruppen im Zeitverlauf. Beispielsweise kann das Nachrichtensystem Trending-Entitäten aus einem Nachrichtenstrom von Nachrichten periodisch identifizieren, die auf einer Nachrichtenplattform ausgetauscht werden. Die Identifikation von Trending-Entitäten des Nachrichtenstroms kann als Burst-Detektierung bezeichnet werden. In einigen Beispielen ist der Nachrichtenstrom relativ groß (z.B., über 5K Nachrichten pro Sekunde). Eine Trending-Entität kann eine Entität sein, die in dem Nachrichtenstrom bei einer ungewöhnlich hohen Rate oder bei einer Rate über einer Schwellenbedingung erscheint. In einigen Beispielen kann eine Trending-Entität ein Wort (oder Wörter), eine Wortverbindung, ein Hashtag, eine Kennung (z.B., Benutzerkennung, Nachrichtenkennung, usw.), eine Webressource (z.B., URL) und/oder irgendein Inhalt sein, der sich auf ein spezifisches Objekt bezieht. Das Nachrichtensystem kann periodisch Ähnlichkeit-basierte Cluster-Operationen an den Trending-Entitäten durchführen, um ein oder mehrere Cluster-Gruppen zu detektieren, wobei jede Cluster-Gruppe zwei oder mehr Trending-Entitäten umfasst, die definiert sind, einander ähnlich zu sein (z.B., einem Ähnlichkeitswert größer als einem Schwellenniveau zugeordnet).
  • Insbesondere kann das Nachrichtensystem die erkannten Trending-Entitäten aus einem ersten Zeitraum empfangen und die Ähnlichkeit-basierten Cluster-Operationen an den Trending-Entitäten des ersten Zeitraums durchführen, um ein oder mehrere Cluster-Gruppen zu detektieren. Dann kann das Nachrichtensystem die erkannten Trending-Entitäten aus einem zweiten Zeitraum empfangen und die Ähnlichkeit-basierten Cluster-Operationen an den Trending-Entitäten des zweiten Zeitraums durchführen, um ein oder mehrere anschließende Cluster-Gruppen zu detektieren. Falls der Gegenstand einer Cluster-Gruppe aus dem zweiten Zeitraum definiert ist, ähnlich dem Gegenstand einer Cluster-Gruppe aus dem ersten Zeitraum zu sein, werden diese Cluster-Gruppen (über die unterschiedliche Zeiträume) zusammen verlinkt, um dadurch die Cluster-Kette zu bilden. Durch kontinuierliches (z.B., periodisches) Detektieren und Verlinken von Cluster-Gruppen im Zeitverlauf (und in Echtzeit oder im Wesentlichen in Echtzeit) können Begriffe, die verwendet werden, um das Ereignis auf dem Nachrichtensystem bei unterschiedliche Punkten während der Lebensdauer des Ereignisses zu beschreiben, von der Cluster-Kette erfasst werden. Von daher ist, im Gegensatz zu einigen herkömmlichen Vorgehensweisen, die statische Ereignisdetektierung verwenden (z.B., Detektieren von Ereignissen aus einem Schnappschuss von Daten), die durch das Nachrichtensystem bereitgestellte Ereignisdetektierung dynamisch, um das dynamische Wesen desselben zu berücksichtigen, was auf dem Nachrichtensystem erläutert wird.
  • In einigen Beispielen werden die Burst-Detektierungsoperationen unabhängig von den Cluster-Operationen ausgeführt (z.B., ausführbar durch getrennte CPUs und Speichervorrichtungen). Durch Trennen der Burst-Detektierungsoperationen von den Cluster-Operationen können einige der Cluster-Operationen (oder alle derselben) parallel mit den Burst-Detektierungsoperationen ausgeführt werden, was die Geschwindigkeit der Ereignisdetektierung (insbesondere für Soziale-Media-Plattformen, die eine große Datenmenge handhaben) erhöhen kann. Außerdem sind diese Komponenten unabhängig skalierbar, was die Geschwindigkeit der Ereignisdetektierung und die Flexibilität des Nachrichtensystems erhöhen kann, um sich auf die variierenden Verarbeitungslasten der Burst-Detektierung und Entität-Clustering einzustellen und die Verfolgung von Ereignissen in Echtzeit zu ermöglichen.
  • Die Nachrichtenplattform kann digitale Daten an eine Client-Anwendung übertragen, um Informationen über das(die) Ereignis(se) in der Benutzerschnittstelle der Client-Anwendung zu rendern. Die Informationen über das(die) Ereignis(se) können Informationen der Cluster-Ketten umfassen. Die Cluster-Ketteninformationen können ein oder mehrere Ereignisse identifizieren und eine oder mehrere Trending-Entitäten der Cluster-Kette identifizieren. In einigen Beispielen sind die Cluster-Ketteninformationen in einem Trends-Abschnitt der Client-Anwendung enthalten. Beispielsweise kann der Trends-Abschnitt eine Liste von Trending-Entitäten (oder Themen) identifizieren. In einem bestimmten Beispiel kann der Hashtag „#bucks“ tendierend und als Teil eines Ereignisses enthalten sein, das durch eine Cluster-Kette dargestellt wird. Die Cluster-Kette kann ebenfalls eine Entität „Giannis“ innerhalb einer anderen Cluster-Gruppe identifizieren, die mit der Cluster-Gruppe verlinkt ist, welche den Hashtag „#bucks“ umfasst. Der Trends-Abschnitt kann den verwandten Begriff „Giannis“ (und andere verwandte Begriffe der Cluster-Kette) zusammen mit der Trending-Entität „#bucks“ identifizieren.
  • Die Nachrichtenplattform kann digitale Daten an die Client-Anwendung übertragen, um eine Zeitachse von Nachrichten zu rendern. Die Zeitachse kann einen Strom von Nachrichten von Konten mit Beziehungen mit dem Konto des Benutzers in einem Verbindungsgraph umfassen. In einigen Beispielen wird die Zeitachse eingestuft und das Einstufen der Nachrichten kann (teilweise) auf dem erkannten Ereignis basiert sein. Beispielsweise kann das Ereignis Ereignismetadaten umfassen, welche die erkannte Startzeit des Ereignisses und die erkannte Endzeit des Ereignisses identifizieren. Ein Zeitachsenmanager kann das Ereignis empfangen, was die Trending-Entitäten über die unterschiedliche Cluster-Gruppen identifiziert, die zu diesem Ereignis (oder Cluster-Kette) gehören. Der Zeitachsenmanager kann bestimmen, ob eine Nachricht, die als Teil der Zeitachse des Benutzers zu rendern ist, eine Trending-Entität der Cluster-Kette während der Dauer des Ereignisses umfasst (z.B., zwischen der erkannten Startzeit und der erkannten Endzeit). Wenn diese Nachricht eine Trending-Entität umfasst, die Teil der Cluster-Kette während der Dauer des Ereignisses ist, kann der Zeitachsenmanager diese Nachricht innerhalb der Einstufung der Zeitachse des Benutzers verstärken (oder hochstufen).
  • In einigen Beispielen umfasst die Zeitachse geförderten Inhalt, der Ankündigungsnachrichten umfassen kann. Ähnlich zu den Nachrichten, die gemäß dem Verbindungsgraph zu liefern sind, kann eine geförderte Nachricht in der Einstufung der Zeitachse verstärkt werden, wenn diese geförderte Nachricht eine Trending-Entität von der Cluster-Kette während der Dauer des Ereignisses umfasst. In einigen Beispielen umfasst die Nachrichtenplattform eine Ankündigungsstapel-Engine, die konfiguriert ist, um Preisbildung für geförderte Nachrichten zu bestimmen. In einigen Beispielen kann die Ankündigungsstapel-Engine ihre Preisbildung für geförderte Inhalt erhöhen, wenn der geförderte Inhalt eine oder mehrere Trending-Entitäten während der Dauer des Ereignisses umfasst. In einigen Beispielen sind die Cluster-Ketteninformationen als Teil der an die Benutzer zurückgegeben Suchergebnissen enthalten. Beispielsweise kann ein Benutzer eine Abfragesuche übermitteln und ein Suchmanager kann die Cluster-Ketten verwenden, um die Suchergebnisse zu expandieren, um andere verwandte Entitäten zu umfassen.
  • Gemäß einem Aspekt umfasst ein Verfahren zur Ereignisdetektierung auf sozialen Datenströmen ein Empfangen, von einer Nachrichtenplattform, eines Stroms von auf einer Nachrichtenplattform ausgetauschten Nachrichten, und ein Detektieren, durch die Nachrichtenplattform, eines Ereignisses des Stroms von Nachrichten. Der Detektierungsschritt umfasst ein Detektieren einer ersten Cluster-Gruppe von Trending-Entitäten über einen ersten Zeitraum, ein Detektieren einer zweiten Cluster-Gruppe von Trending-Entitäten über einen zweiten Zeitraum und ein Erzeugen einer Cluster-Kette durch Verlinken der zweiten Cluster-Gruppe mit der ersten Cluster-Gruppe, wobei die Cluster-Kette das erfasste Ereignis über den ersten und zweiten Zeitraum darstellt. Die erste Cluster-Gruppe umfasst mindestens zwei Trending-Entitäten, die als einander ähnlich definiert sind. Die zweite Cluster-Gruppe umfasst mindestens zwei Trending-Entitäten, die als einander ähnlich definiert sind. Das Verfahren umfasst ein Speichern, durch die Nachrichtenplattform, des Ereignisses als die Cluster-Kette in einer Speichervorrichtung auf der Nachrichtenplattform. In einigen Beispielen kann ein System oder nichttransitorisches computerlesbares Medium mit diesen Operationen versehen sein.
  • Gemäß einigen Aspekten kann ein Verfahren, System oder nichttransitorisches computerlesbares Medium ein oder mehrere der folgende Merkmale (oder irgendeine Kombination davon) umfassen. Das Verfahren kann ein Übertragen, durch die Nachrichtenplattform, von digitalen Daten an eine Client-Anwendung umfassen, um Informationen über das Ereignis in einer Benutzerschnittstelle der Client-Anwendung zu rendern, wobei die Informationen über das Ereignis Informationen der Cluster-Kette speichern. Die Informationen über das Ereignis identifizieren eine erste Trending-Entität der ersten Cluster-Gruppe und eine zweite Trending-Entität der zweiten Cluster-Gruppe, wobei die zweite Trending-Entität anders als die erste Trending-Entität ist. Das Verfahren kann ein Einstufen auf Cluster-Gruppen innerhalb der Cluster-Kette umfassen, welches ein Einstufen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe basierend auf der Popularität der jeder jeweiligen Cluster-Gruppe zugeordneten Entitäten umfasst. Das Verfahren kann ein Extrahieren von Entitäten des Stroms von Nachrichten, ein Erhalten einer Liste von Trending-Entitäten, die von einem Trend-Detektordienst hergeleitet werden, und ein Identifizieren der Trending-Entitäten der extrahierten Entitäten basierend auf der Liste von Trending-Entitäten umfassen, die vom Trend-Detektordienst hergeleitet werden. Das Verfahren kann ein Zuweisen einer Cluster-Kennung zur ersten Cluster-Gruppe und ein Zuweisen der Cluster-Kennung der ersten Cluster-Gruppe zur zweiten Cluster-Gruppe als Antwort darauf umfassen, dass die zweite Cluster-Gruppe mit der ersten Cluster-Gruppe verlinkt ist. Das Detektieren der ersten Cluster-Gruppe kann ein Erzeugen eines Ähnlichkeitsgraphs basierend auf Ähnlichkeitswerten umfassen, die den Trending-Entitäten des ersten Zeitraums zugeordnet sind, wobei der Ähnlichkeitsgraph Knoten umfasst, welche die Trending-Entitäten über den ersten Zeitraum darstellen, und Kanten, welche die Ähnlichkeitswerte darstellen, und das Partitionieren des Ähnlichkeitsgraphs gemäß einem Clustering-Algorithmus, um die erste Cluster-Gruppe zu detektieren. Das Verfahren kann ein Berechnen der Ähnlichkeitswerte basierend auf einem Frequenzzählwert und Kookkurrenzen unter den Trending-Entitäten über ein Zeitfenster und ein Filtern des Ähnlichkeitsgraphs basierend auf einer Ähnlichkeitsschwelle umfassen, so dass Kanten mit Ähnlichkeitswerten kleiner als die Ähnlichkeitsschwelle von dem Ähnlichkeitsgraph entfernt werden, wobei der gefilterte Ähnlichkeitsgraph gemäß dem Clustering-Algorithmus partitioniert wird, um die erste Cluster-Gruppe zu detektieren. Die zweite Cluster-Gruppe kann die erste Cluster-Gruppe basierend auf einem maximalen gewichteten bipartiten Matching verlinken.
  • Gemäß einem Aspekt umfasst ein Nachrichtensystem zum Detektieren eines Echtzeitereignisses eine Nachrichtenplattform, die konfiguriert ist, um über ein Netzwerk Nachrichten an Rechenvorrichtungen auszutauschen, und eine Client-Anwendung, die konfiguriert ist, um mit der Nachrichtenplattform zu kommunizieren, um Nachrichten zu senden und zu empfangen. Die Nachrichtenplattform ist konfiguriert, um eine erste Cluster-Gruppe von Trending-Entitäten über einen ersten Zeitraum zu detektieren, eine zweite Cluster-Gruppe von Trending-Entitäten über einen zweiten Zeitraum zu detektieren, eine Cluster-Kette durch Verlinken der zweiten Cluster-Gruppe mit der ersten Cluster-Gruppe basierend auf einer Anzahl von Trending-Entitäten zu erzeugen, die zwischen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe gemeinsam genutzt werden, wobei die Cluster-Kette das erfasste Ereignis über den ersten und zweiten Zeitraum darstellt, und ein Ereignis als die Cluster-Kette in einer Speichervorrichtung auf der Nachrichtenplattform zu speichern, wobei die Cluster-Kette zum zukünftigen Verlinken von Clustern abrufbar ist. In einigen Beispielen kann ein Verfahren oder nichttransitorisches computerlesbaren Medium mit diesen Operationen bereitgestellt werden.
  • Gemäß einigen Aspekten kann ein Verfahren, System oder nichttransitorisches computerlesbares Medium ein oder mehrere der obigen/nachstehenden Merkmale (oder irgendeine Kombination davon) umfassen. Die Nachrichtenplattform ist konfiguriert, um digitale Daten an die Client-Anwendung zu übertragen, um Informationen über das Ereignis in einer Benutzerschnittstelle der Client-Anwendung zu rendern, wobei die Informationen über das Ereignis Informationen aus der Cluster-Kette umfassen, und die Informationen aus der Cluster-Kette werden in einem Trends-Abschnitt, einer Zeitachse oder einem Teil von Suchergebnisse gerendert, die an die Client-Anwendung zurückgegeben werden. Die Nachrichtenplattform ist konfiguriert, um die erste Cluster-Gruppe und die zweite Cluster-Gruppe basierend auf einer aggregierten Popularitätsmetrik einzustufen, die jeder Cluster-Gruppe zugeordnet ist. Die mehreren Entitäten umfassen Trending-Entitäten und die Nachrichtenplattform ist konfiguriert, um Entitäten aus dem Stroms von Nachrichten zu extrahieren, eine Liste von Trending-Entitäten zu erhalten, die von einem Trend-Detektordienst hergeleitet werden, und die Trending-Entitäten der extrahierten Entitäten basierend auf der Liste von Trending-Entitäten zu identifizieren. Die Nachrichtenplattform ist konfiguriert, um eine gleiche Cluster-Kennung zu Cluster-Gruppen einer einzigen Cluster-Kette zuzuweisen. Die Nachrichtenplattform ist konfiguriert, um Ähnlichkeitswerte basierend auf einem Frequenzzählwert und Kookkurrenzen unter der mehreren Entitäten über ein Zeitfenster zu berechnen und einen Ähnlichkeitsgraph basierend auf den Ähnlichkeitswerten zu erzeugen, wobei der Ähnlichkeitsgraph Knoten umfasst, welche die mehreren Entitäten darstellen, und Kanten umfasst, welche die Ähnlichkeitswerte darstellen oder mit diesen annotiert sind.
  • Gemäß einem Aspekt ist ein nichttransitorisches computerlesbares Medium, das ausführbare Anweisungen speichert, die, wenn durch mindestens einen Prozessor ausgeführt, konfiguriert sind, um den mindestens einen Prozessor zu veranlassen, durch eine Nachrichtenplattform einen Strom von Nachrichten zu empfangen, die auf einer Nachrichtenplattform ausgetauscht werden, zu detektieren, durch die Nachrichtenplattform, ein Ereignis aus dem Strom von Nachrichten, umfassend Identifizieren mehrerer Entitäten des Stroms von Nachrichten, Detektieren einer ersten Cluster-Gruppe der mehreren Entitäten über einen ersten Zeitraum, Detektieren einer zweiten Cluster-Gruppe der mehreren Entitäten über einen zweiten Zeitraum und Erzeugen einer Cluster-Kette durch Verlinken der zweiten Cluster-Gruppe mit der ersten Cluster-Gruppe basierend auf einer Anzahl von Entitäten, die zwischen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe gemeinsam genutzt werden, wobei die Cluster-Kette das erkannte Ereignis über den ersten und zweiten Zeitraum darstellt, zu speichern, durch die Nachrichtenplattform, das Ereignis als die Cluster-Kette in einer Speichervorrichtung auf der Nachrichtenplattform, und zu übertragen, durch die Nachrichtenplattform, digitale Daten an eine Client-Anwendung, um Informationen über das Ereignis in einer Benutzerschnittstelle der Client-Anwendung zu rendern, wobei die Informationen über das Ereignis Informationen der Cluster-Kette umfassen und die Informationen von der Cluster-Kette eine erste Entität aus der ersten Cluster-Gruppe und eine zweiten Entität aus der zweiten Cluster-Gruppe identifizieren. In einigen Beispielen kann ein Verfahren oder ein System mit diesen Operationen bereitgestellt werden.
  • Gemäß einigen Aspekten kann ein Verfahren, System oder nichttransitorisches computerlesbares Medium ein oder mehrere der obigen/nachstehenden Merkmale (oder irgendeine Kombination davon) umfassen. Die Operationen können ein Einstufen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe basierend auf einer Popularitätsmetrik umfassen, die jeder jeweiligen Cluster-Gruppe zugeordnet ist. Die mehreren Entitäten umfassen Trending-Entitäten und die Operationen können ein Extrahieren von Entitäten aus dem Stroms von Nachrichten umfassen, wobei die Entitäten mindestens eines von benannten Entitäten oder Hashtags umfassen, um eine Liste von Trending-Entitäten zu erhalten, die von einem Trend-Detektordienst über eine Serverkommunikationsschnittstelle hergeleitet werden, und die Trending-Entitäten der extrahierten Entitäten basierend auf der Liste von Trending-Entitäten zu identifizieren, so dass Nicht-Trending-Entitäten aus den extrahierten Entitäten ausgefiltert werden. Die Operationen können ein Zuweisen einer Cluster-Kennung zu der ersten Cluster-Gruppe und ein Zuweisen der Cluster-Kennung der ersten Cluster-Gruppe zu der zweiten Cluster-Gruppe als Antwort darauf umfassen, dass die zweite Cluster-Gruppe mit der ersten Cluster-Gruppe verlinkt ist. Die Operationen können umfassen: ein Berechnen von Ähnlichkeitswerten basierend auf einem Frequenzzählwert und Kookkurrenzen unter den mehreren Entitäten über ein Zeitfenster, wobei jeder Ähnlichkeitswert ein Niveau der Ähnlichkeit zwischen zwei Entitäten angibt, ein Erzeugen eines Ähnlichkeitsgraphs basierend auf den Ähnlichkeitswerten, wobei der Ähnlichkeitsgraph Knoten umfasst, welche die mehreren Entitäten darstellen, und Kanten, welche die Ähnlichkeitswerte darstellen, ein Filtern des Ähnlichkeitsgraphs basierend auf einem Ähnlichkeitsschwellenwert, so dass Kanten mit Ähnlichkeitswerten kleiner als die Ähnlichkeitsschwelle von dem Ähnlichkeitsgraph entfernt werden, und das Partitionieren des gefilterten Ähnlichkeitsgraphs gemäß einem Clustering-Algorithmus, um die erste Cluster-Gruppe zu detektieren, wobei der Clustering-Algorithmus einen Louvain-Algorithmus umfasst.
  • Gemäß einem Aspekt umfasst ein Nachrichtensystem zum Detektieren eines Echtzeitereignisses auf einem sozialen Medienstrom eine Nachrichtenplattform, die konfiguriert ist, um über ein Netzwerk Nachrichten an Rechenvorrichtungen auszutauschen. Die Nachrichtenplattform umfasst einen Ereignisdetektor, der konfiguriert ist, um in einem Offline-Modus und einem Online-Modus ausgeführt zu werden. Der Ereignisdetektor ist im Offline-Modus konfiguriert, um einen Ereignis-Detektierungsalgorithmus an einem Auswertungsdatensatzstrom auszuführen, um ein oder mehrere erste Cluster-Ketten für variierende Werte eines Steuerparameters zu erzeugen und eine Leistungsmetrik hinsichtlich der Ausführung des Ereignis-Detektierungsalgorithmus für die variierenden Werte des Steuerparameters zu berechnen, wobei ein Wert des Steuerparameters basierend auf der Leistungsmetrik ausgewählt wird. Der Ereignisdetektor ist im Online-Modus konfiguriert, um einen Nachrichtenstrom für Nachrichten zu empfangen, die auf der Nachrichtenplattform in Echtzeit ausgetauscht werden, und den Ereignis-Detektierungsalgorithmus auf dem Nachrichtenstrom gemäß dem ausgewählten Wert der Steuerparameter auszuführen, um eine oder mehrere zweite Cluster-Ketten zu erzeugen. In einigen Beispielen kann ein Verfahren oder nichttransitorisches computerlesbares Medium mit diesen Operationen bereitgestellt werden.
  • Gemäß einigen Aspekten können ein Verfahren, ein System oder ein nichttransitorisches computerlesbares Medium ein oder mehrere der obigen/untenstehenden Merkmale (oder irgendeine Kombination davon) umfassen. In einigen Beispielen umfasst die Leistungsmetrik mindestens eines von Unterscheidung oder Konsolidierung und der Steuerparameter umfasst eine Ähnlichkeitsschwelle. In einigen Beispielen umfasst die Leistungsmetrik mindestens eines von Unterscheidung oder Konsolidierung und der Steuerparameter umfasst eine Auflösung eines Clustering-Algorithmus. In einigen Beispielen umfasst die Leistungsmetrik eine Clustering-Punktzahl. In einigen Beispielen umfasst die Leistungsmetrik den Bruchteil der erkannten Ereignisse. In einigen Beispielen umfasst die Leistungsmetrik Bruchteil eines zusammengeführten Ereignisses. In einigen Beispielen umfasst die Leistungsmetrik den Bruchteil eines duplikaten Ereignisses. In einigen Beispielen umfasst der Steuerparameter ein Zeitfenster.
  • Figurenliste
    • 1A veranschaulicht ein Nachrichtensystem mit einem Ereignisdetektor, der konfiguriert ist, um ein Ereignis als eine Cluster-Kette im Zeitverlauf zu detektieren und zu verfolgen, gemäß einem Aspekt.
    • 1B veranschaulicht ein Ereignis, das durch eine Cluster-Kette mit mehreren Cluster-Gruppen im Zeitverlauf dargestellt wird, gemäß einem Aspekt.
    • 1C veranschaulicht verschiedene Beispiele von Entitäten, die durch den Ereignisdetektor extrahiert werden, gemäß einem Aspekt.
    • 1D veranschaulicht einen Ähnlichkeitsgraph mit Knoten, die Trending-Entitäten darstellen, und Kanten, die Ähnlichkeitswerte darstellen, gemäß einem Aspekt.
    • 1E veranschaulicht einen gefilterten Ähnlichkeitsgraph, der in mehrere Cluster-Gruppen partitioniert wurde, gemäß einem Aspekt.
    • 2 veranschaulicht ein Beispiels eines Screenshot einer Client-Anwendung, die Informationen der Cluster-Kette rendert, gemäß einem Aspekt.
    • 3 veranschaulicht einen Prozessablauf, der eine beispielhafte Operation eines Ereignisdetektors anschaulich darstellt, gemäß einem Aspekt.
    • 4 veranschaulicht einen Ereignisdetektor innerhalb eines Offline-Analysemodus gemäß einem Aspekt.
    • 5A bis 5F veranschaulichen verschiedene Graphen, die Leistungsmetriken und Parameter des Ereignisdetektors im Offline-Analysemodus anschaulich darstellen, gemäß einem Aspekt.
    • 6A bis 6C veranschaulichen verschiedene Graphen, welche die Leistung des Ereignisdetektors in einem Online-Analysemodus anschaulich darstellen, gemäß einem Aspekt.
    • 7 veranschaulicht einen Graph, welcher die Leistung des Ereignisdetektors im Online-Analysemodus anschaulich darstellt, gemäß einem Aspekt.
    • 8 veranschaulicht ein Beispiel mehrerer Cluster-Ketten für ein Ereignis der realen Welt gemäß einem Aspekt.
    • 9 veranschaulicht Einzelheiten einer Cluster-Kette mit der Zeit gemäß einem Aspekt.
    • 10 veranschaulicht ein Ablaufdiagramm, das beispielhafte Operationen eines Nachrichtensystems anschaulich darstellt, gemäß einem Aspekt.
  • AUSFÜHRLICHE OFFENBARUNG
  • 1A bis 1E veranschaulichen ein Nachrichtensystem 100 zum Detektieren und Verfolgen von Ereignissen 112 im Zeitverlauf aus einem Nachrichtenstrom 108 gemäß einem Aspekt. Beispielsweise stellt, anstelle zu bestimmen, welche Ereignisse 112 auf dem Nachrichtensystem 100 zu einer bestimmten Zeit unter Verwendung einer Zeitpunktanalyse erläutert werden, das Nachrichtensystem 100 die Ereignisse 112 im Zeitverlauf durch Modellieren eines Ereignisses 112 als eine Cluster-Kette 114 mit einer verlinkten Liste von Cluster-Gruppen 144 dar.
  • Das Nachrichtensystem 100 kann Trending-Entitäten 132b aus dem Nachrichtenstroms 108 periodisch identifizieren. Eine Trending-Entität 132b kann eine Entität sein, die im Nachrichtenstrom 108 bei einer ungewöhnlich hohen Rate oder bei einer Rate über einer Schwellenwertbedingung erscheint, wobei die Trending-Entität 132b ein Tag für den Inhalt in einer Nachricht des Nachrichtenstroms 108 ist (z.B., benannte Entitäten, Hashtags, URLs, Benutzerkennungen und/oder Nachrichtenkennungen, usw.). Das Nachrichtensystem 100 kann Ähnlichkeit-basierte Cluster-Operationen an den Trending-Entitäten 132 periodisch durchführen, um ein oder mehrere Cluster-Gruppen 144 zu detektieren. Beispielsweise kann das Nachrichtensystem 100 die erkannten Trending-Entitäten 132b aus einem ersten Zeitraum (z.B., einem gegebenen Zeitintervall) empfangen und die Ähnlichkeit-basierte Cluster-Operationen an den Trending-Entitäten 132b des ersten Zeitraums durchführen, um eine oder mehrere Cluster-Gruppen 144 zu detektieren. Eine bestimmte Cluster-Gruppe 144 kann zwei oder mehr Trending-Entitäten 132b umfassen, die definiert sind, auf ähnliche Weise zueinander in Beziehung zu stehen (z.B., Trending-Entitäten 132b der gleichen Cluster-Gruppe 144 können betrachtet werden, sich semantisch auf den gleichen oder ähnlichen Gegenstand zu beziehen). Dann kann das Nachrichtensystem 100 die erkannten Trending-Entitäten 132b aus einem zweiten Zeitraum (z.B., dem nächsten Zeitintervall) empfangen und die Ähnlichkeit-basierten Cluster-Operationen an den Trending-Entitäten 132b des zweiten Zeitraums durchführen, um eine oder mehrere anschließende Cluster-Gruppen 144 zu detektieren. Wenn der Gegenstand einer Cluster-Gruppe 144 aus dem zweiten Zeitraum bestimmt ist, zu dem Gegenstand einer Cluster-Gruppe 144 aus dem ersten Zeitraum ähnlich zu sein, werden diese Cluster-Gruppen 144 (über die unterschiedlichen Zeiträume) zusammen verlinkt, um dadurch die Cluster-Kette 114 zu bilden.
  • Beispielsweise kann mit Bezugnahme auf 1B die Cluster-Kette 114 eine erste Cluster-Gruppe 144-1 von Trending-Entitäten 132b (z.B., erkannt während eines ersten Zeitraums 196-1), eine zweite Cluster-Gruppe 144-2 von Trending-Entitäten 132b (z.B., erkannt während eines zweiten Zeitraums 196-2) und eine dritte Cluster-Gruppe 144-3 von Trending-Entitäten 132b (z.B., erkannt während eines dritten Zeitraumes 196-3) umfassen. Wie in 1B gezeigt, ist die zweite Cluster-Gruppe 144-2 mit der ersten Cluster-Gruppe 144-1 verlinkt und die dritte Cluster-Gruppe 144-3 ist mit der zweiten Cluster-Gruppe 144-2 verlinkt, was angibt, dass sich die erste Cluster-Gruppe 144-1, die zweite Cluster-Gruppe 144-2 und die dritte Cluster-Gruppe 144-3 auf das gleiche Ereignis 112 beziehen. Durch kontinuierliches (z.B., periodisches) Detektieren und Verlinken der Cluster-Gruppen 144 im Zeitverlauf (und in Echtzeit oder im Wesentlichen in Echtzeit) können Begriffe, die verwendet werden, um das Ereignis 112 auf dem Nachrichtensystem 100 bei unterschiedliche Punkten während der Lebensdauer des Ereignisses 112 zu beschreiben, durch die Cluster-Kette 114 erfasst werden.
  • Beispielsweise wurde mit Bezug auf das Beispiel des Tsunami in Japan, der im März 2011 stattfand, dieses Ereignis durch Schlüsselwörter dominiert, wie beispielsweise Erdbeben und Tsunami, wobei jedoch später die Ereigniswörter, wie beispielsweise Nuklear und Strahlung, eingeführt wurden. Gemäß den hier erläuterten Techniken kann das Nachrichtensystem 100 das dynamische Wesen von Ereignis-basierten Konversationen, die auf dem Nachrichtensystem 100 auftreten, durch Verfolgen der Entwicklung von Ereignissen 112 berücksichtigen, was imstande sein würde, nicht nur die anfänglichen Begriffe von Erdbeben und Tsunami für das Ereignis 112 (z.B., Erdbeben und Tsunami können Teil der ersten Cluster-Gruppe 144-1 sein) sondern ebenfalls die später eingeführten Begriffe von Nuklear und Strahlung als das gleiche Ereignis 112 betreffend zu identifizieren (z.B., Nuklear und Strahlung kann Teil der dritten Cluster-Gruppe 144-3 sein). Von daher ist, im Gegensatz zu einigen herkömmlichen Vorgehensweisen, die statische Ereignisdetektierung verwenden (z.B., Detektieren von Ereignissen von einem Schnappschuss von Daten), die durch das Nachrichtensystem 100 bereitgestellte Ereignisdetektierung dynamisch, um das dynamische Wesen desselben zu berücksichtigen, was auf dem Nachrichtensystem 100 erläutert wird.
  • Das Nachrichtensystem 100 umfasst eine Nachrichtenplattform 104, die durch einen Servercomputer 102 ausführbar ist, und eine Client-Anwendung 176, die durch eine Berechnungsvorrichtung 174 ausführbar ist. Die Client-Anwendung 176 kommuniziert mit der Nachrichtenplattform 104, um Nachrichten über ein Netzwerk 172 an (und von) anderen Benutzern der Nachrichtenplattform 104 zu senden (und zu empfangen). Die Client-Anwendung 176 kann eine Nachrichtenanwendung für soziale Medien sein, bei der Benutzer Nachrichten senden und mit diesen wechselwirken. In einigen Beispielen ist die Client-Anwendung 176 eine native Anwendung, die auf einem Betriebssystem der Berechnungsvorrichtung 174 ausgeführt wird, oder kann eine web-basierte Anwendung sein, die auf dem Servercomputer 102 (oder anderen Server) in Verbindung mit einer Browser-basierten Anwendung der Berechnungsvorrichtung 174 ausgeführt wird. Die Berechnungsvorrichtung 174 kann auf die Nachrichtenplattform 104 über das Netzwerk 172 unter Verwendung von beliebigen Typen von Netzwerkverbindungen und/oder Anwendungsprogrammierschnittstellen (application programming interfaces; APIs) in einer Art und Weise zugreifen, die es der Client-Anwendung 176 und der Nachrichtenplattform 104 erlauben, miteinander zu kommunizieren.
  • Die Berechnungsvorrichtung 174 kann eine mobile Berechnungsvorrichtung (z.B., ein Smartphone, ein PDA, ein Tablet oder ein Laptop-Computer) oder eine nicht mobile Berechnungsvorrichtung (z.B., eine Desktop-Rechenvorrichtung) sein. Die Berechnungsvorrichtung 174 umfasst ebenfalls verschiedene Netzwerkschnittstellenschaltungen, wie beispielsweise eine mobile Netzwerkschnittstelle, durch welche die Berechnungsvorrichtung 174 mit einem zellularen Netzwerk kommunizieren kann, eine Wi-Fi Netzwerkschnittstelle, mit der die Berechnungsvorrichtung 174 mit einer Wi-Fi-Basisstation kommunizieren kann, eine Bluetooth-Netzwerkschnittstelle, mit der die Berechnungsvorrichtung 174 mit anderen Bluetooth Vorrichtungen kommunizieren kann, und/oder eine Ethernet Verbindung oder eine andere verdrahtete Verbindung, die es der Berechnungsvorrichtung 174 ermöglicht, auf das Netzwerk 172 zuzugreifen.
  • Der Servercomputer 102 kann eine einzige Berechnungsvorrichtung sein oder kann eine Darstellung von zwei oder mehr verteilten Rechenvorrichtungen sein, die kommunikativ verbunden sind, um Arbeitslast und Ressourcen gemeinsam zu nutzen. Der Servercomputer 102 kann mindestens einen Prozessor und ein nichttransitorisches computerlesbares Medium umfassen, das ausführbare Anweisungen speichert, die, wenn durch den mindestens einen Prozessor ausgeführt, den mindestens einen Prozessor veranlassen, die hier erläuterten Operationen durchzuführen.
  • Die Nachrichtenplattform 104 ist eine Berechnungsplattform zum Erleichtern der Kommunikation (z.B., Echtzeit-Kommunikation) zwischen Benutzervorrichtungen (eine von denen wird als Berechnungsvorrichtung 174 gezeigt). Die Nachrichtenplattform 104 kann Millionen von Konten 118 von Individuen, Geschäften und/oder Entitäten (zum Beispiel Pseudonymkonten, Neuheitskonten usw.) speichern. Ein oder mehrere Benutzer jedes Kontos 118 können die Nachrichtenplattform 104 verwenden, um Nachrichten an andere Konten 118 innerhalb und/oder außerhalb der Nachrichtenplattform 104 zu senden. In einigen Beispielen kann die Nachrichtenplattform 104 Benutzern ermöglichen, in „Echtzeit“ zu kommunizieren, z.B., um mit anderen Benutzern mit minimaler Verzögerung zu konversieren und eine Konversation mit einem oder mehreren anderen Benutzern während simultaner Sitzungen durchzuführen. Mit anderen Worten kann die Nachrichtenplattform 104 einem Benutzer erlauben, Nachrichten rundzusenden und kann die Nachrichten einem oder mehreren anderen Benutzern innerhalb eines vernünftigen Zeitrahmens (z.B., kleiner als zwei Sekunden) anzeigen, um eine Live-Konversation zwischen Benutzern zu erleichtern. In einigen Beispielen können Empfänger einer Nachricht eine vordefinierte Graphbeziehung in einem Verbindungsgraph 116 mit einem Konto des Benutzers aufweisen, der die Nachricht rundsendet.
  • Der Verbindungsgraph 116 umfasst eine Datenstruktur, die angibt, welche Konten 118 in der Nachrichtenplattform 104 einem bestimmten Konto 118 zugeordnet sind (z.B., Follower, Freunde mit, abonniert mit usw.), nimmt, abonniert, um Nachrichten des bestimmten Kontos 118 zu empfangen. Beispielsweise kann der Verbindungsgraph 116 ein erstes Konto mit einem zweiten Konto verlinken, was angibt, dass das erste Konto in einer Beziehung mit dem zweiten Konto ist. Der Benutzer des zweiten Kontos kann Nachrichten betrachten, die auf der Nachrichtenplattform 104 durch den Benutzer des ersten Kontos (und/oder umgekehrt) gesendet wurden. Die Beziehungen können unidirektionale (z.B., Follower/Followee) und/oder bidirektionale (z.B., Friendship) umfassen. In einigen Beispielen kann der Verbindungsgraph 116 einen Benutzer darstellen, der eine Client-Anwendung 176 installiert und ein Benutzerkonto durch die Client-Anwendung 176 eingerichtet hat. Die Nachrichten können in einer beliebigen Vielfalt von Längen sein, die durch ein spezifischen Nachrichtensystem oder Protokoll begrenzt sein können.
  • In einigen Beispielen können Benutzer wählen, die Interesse am Betrachten von Nachrichten aufweisen, die von einem bestimmten Benutzer verfasst wurden, dem bestimmten Benutzer zu folgen. Ein erster Benutzer kann einem zweiten Benutzer durch Identifizieren des zweiten Benutzers als einem Benutzer folgen, dem der erste Benutzer gerne folgen würde. Nachdem der erste Benutzer angegeben hat, dass er dem zweiten Benutzer gerne folgen würde, wird der Verbindungsgraph 116 aktualisiert, um die Beziehung zu reflektieren, und der erste Benutzer mit Nachrichten versehen, die von dem zweiten Benutzer verfasst wurden. Benutzer können wählen, mehreren Benutzern zu folgen. Benutzer können ebenfalls auf Nachrichten reagieren und dadurch Konversationen miteinander aufweisen. Außerdem können sich Benutzer mit einer Nachrichten engagieren, wie beispielsweise gemeinsame Nutzung (z.B., erneute gemeinsame Nutzung) einer Nachricht mit ihren Followers oder Favoritisieren (oder „liking“) einer Nachricht, bei der das Engagement mit ihren Followers gemeinsam genutzt wird.
  • Der Nachrichtenplattform 104 umfasst einen Zeitachsenmanager 163, der konfiguriert ist, um Daten zu erzeugen und (über das Netzwerk 172) zu übertragen, um eine Zeitachse von sozialem Inhalt auf einer Benutzerschnittstelle 178 der Client-Anwendung 176 zu rendern. In einigen Beispielen umfasst die Zeitachse 180 eine Liste (z.B., eingestufte Liste) von Nachrichten in chronologischer Reihenfolge (oder umgekehrter chronologischer Reihenfolge). Die Liste von Nachrichten kann Nachrichten umfassen, die von Benutzern auf der Nachrichtenplattform 104 gesendet wurden, die eine Beziehung mit dem Benutzer der Client-Anwendung 176 im Verbindungsgraph 116 aufweisen.
  • Die Nachrichtenplattform 104 umfasst einen Trends-Manager 106, der konfiguriert ist, um Daten zu erzeugen und (über das Netzwerk 172) zu übertragen, um ein oder mehrere Trends 182 (z.B., ebenfalls als ein Trends-Abschnitt bezeichnet) in der Benutzerschnittstelle 178 der Client-Anwendung 176 zu rendern. In einigen Beispielen kommuniziert der Trends-Manager 106 mit einem Trend-Detektordienst 128, um Trending-Entitäten 132a zu identifizieren. Der Trend-Detektordienst 128 und die Trending-Entitäten 132a werden später in der Offenbarung weiter beschrieben. Kurz gesagt, kann der Trend-Detektordienst 128 jedoch einen Algorithmus ausführen, um die Trending-Entitäten 132a auf der Nachrichtenplattform 104 zu identifizieren, und der Trends-Manager 106 kann die Liste von Trending-Entitäten 132 und die Liste (oder ein Teil davon) der Client-Anwendung 176 bereitstellen, die als die Trends 182 auf dem Abschnitt der Benutzerschnittstelle 178 gerendert wird. In einigen Beispielen sind die Trends 182 für die Benutzer der Client-Anwendung 176 maßgeschneidert, was auf den Konten 118, bei denen Benutzer folgt, Interessen des Benutzers und/oder den Ort des Benutzers basieren kann. In einigen Beispielen kann der Trends-Manager 106 die Themen identifizieren, die aktuell populär sind, um den Benutzer dabei zu helfen, neu auftretende Themen der Erläuterung auf der Nachrichtenplattform 104 zu entdecken.
  • Die Nachrichtenplattform 104 umfasst einen Suchmanager 161, der eine Suchanfrage ausführen und Informationen (über das Netzwerk 172) übertragen kann, um der Client-Anwendung 176 zu ermöglichen, Suchergebnisse 186 auf der Benutzerschnittstelle 178 der Client-Anwendung 176 zu rendern. Beispielsweise kann der Suchmanager 161 eine Abfrageanforderung von der Client-Anwendung 176 empfangen, um die Nachrichtenplattform zu durchsuchen, um Nachrichten, Leute, Hashtags, Themen, Photos, Videos usw. Zu finden. Als Antwort auf die Abfrageanforderung kann der Suchmanager 161 die Suchergebnisse 186 (maßgeschneidert zu dem einen oder mehreren Begriffen der Abfrageanforderung) auf der Benutzerschnittstelle 178 der Client-Anwendung 176 bereitstellen.
  • Die Nachrichtenplattform 104 umfasst einen Ereignisdetektor 120, der konfiguriert ist, um einen Nachrichtenstrom 108 zu empfangen und eine oder mehrere Ereignisse 112 basierend auf den Nachrichten in dem Nachrichtenstrom 108 zu detektieren. In einigen Beispielen kann ein Ereignis 112 eine Signifikante reflektieren, die auf der Nachrichtenplattform 104 erläutert wird, und eine Signifikante geschieht, wenn eine Gruppe von Leuten sich in einer Ausmaß darüber unterhalten, das sich von normalen Niveaus einer Konversation über eine Angelegenheit unterscheidet (z.B., es liegt im Trend). In einigen Beispielen stellt das Ereignis 112 ein Ereignis der realen Welt dar, das auf der Nachrichtenplattform 104 erläutert wird. In einigen Beispielen führt der Ereignisdetektor 120 einen Ähnlichkeit-basierten zeitlichen Ereignis-Detektierungsalgorithmus aus (z.B., siehe Algorithmus 1 nachstehend bereitgestellt), um ein bestimmtes Ereignis 112 als eine Cluster-Kette 114 von verlinkten Cluster-Gruppen 144 mit der Zeit zu detektieren. Der Ereignisdetektor 120 kann das Ereignis 112 im Zeitverlauf durch Aktualisieren der Cluster-Kette 114 mit neuen Cluster-Gruppen 144 verfolgen. Von daher kann das Ereignis 112 unterschiedlich im Zeitverlauf dargestellt werden und das Modellieren des Ereignisses 112 als die Cluster-Kette 114 reflektiert die Tatsache, dass sich eine ereignisreiche Konversation im Zeitverlauf ändern kann. Ein bekanntes Ereignis 112 entspricht einer Cluster-Kette 114 und wird bei einem bestimmten Zeitpunkt durch eine Cluster-Gruppe 144 von Trending-Entitäten 132b gekennzeichnet.
  • In einigen Beispielen ist der Nachrichtenstrom 108 ein großer (z.B., sehr großer) Strom alle der Nachrichten, die auf der Nachrichtenplattform 104 erzeugt wurden. In einigen Beispielen wird, wenn ein Benutzer eine Nachricht an die Nachrichtenplattform 104 sendet, diese Nachricht zu dem Nachrichtenstrom 108 hinzugefügt. In einigen Beispielen umfasst der Nachrichtenstrom 108 eine Nachricht, die mit einer Rate über 5k Nachrichten pro Sekunde geliefert wird. Im Laufe des Tages kann in einigen Beispielen der Nachrichtenstrom über fünfhundert Millionen Nachrichten umfassen. In einigen Beispielen umfasst der Nachrichtenstrom 108 Nachrichten, die mit einer Rate von über 10k Nachrichten pro Sekunde geliefert werden. In einigen Beispielen umfasst der Nachrichtenstrom 108 Nachrichten, die mit einer Rate von über 25k Nachrichten pro Sekunde geliefert werden. In einigen Beispielen umfasst der Nachrichtenstrom 108 Nachrichten, die mit einer Rate von über 50k Nachrichten pro Sekunde geliefert werden. In einigen Beispielen umfasst der Nachrichtenstrom 108 Nachrichten-Erzeugungsereignisse für Nachrichten, die erzeugt und bei der Nachrichtenplattform 104 gesendet wurden, Ereignisse zur erneuten gemeinsam Nutzung von Ereignisse für existierende Nachrichten, die auf der Nachrichtenplattform 104 erneut gemeinsam genutzt werden, und/oder Eingriffsereignisse für existierende Nachrichten, die auf der Nachrichtenplattform 104 favoritisiert oder gemocht (liked) werden. In einigen Beispielen weist eine bestimmte Nachricht, die auf der Nachrichtenplattform 104 ausgetauscht wurde, eine Zeichengrenze auf. In einigen Beispielen ist die Zeichengrenze zweihundert und achtzig Zeichen.
  • Verschiedene Faktoren und Charakteristiken von sozialen Nachrichtenplattformen können die Detektierung von Ereignissen (wenn sie auftreten) relativ schwierig machen. Beispielsweise ist der Umfang des Nachrichtenstroms 108 relativ groß (z.B., können die Nachrichten im Nachrichtenstrom 108 über 5k Nachrichten pro Sekunde sein). Die Nachrichten können ebenfalls relativ kurz sein, was bewirken kann, dass das semantische Verständnis des zugrunde liegenden Textes relativ schwierig ist, angesichts der Tatsache, dass Nachrichten manchmal in einem eindeutigen Konversationsstil geschrieben sind, die der Kürze der sozialen Medienplattform eigen ist. Ferner kann der Nachrichtenstrom 108 einen relativ hohen Grad an Rauschen umfassen. Beispielsweise kann es irgendwelche Nachrichten geben, die nichts mit den Ereignissen zu tun haben, und sogar diejenigen, die damit was zu tun haben, können irrelevante Begriffe umfassen. Außerdem können, wie oben angegeben, die auf der Nachrichtenplattform 104 erläuterten Ereignisse 112 dynamisch im Wesen sein und sich daher mit der Zeit ändern.
  • Um sich den oben identifizierten Herausforderungen zu widmen, kann der Ereignisdetektor 120 periodisch Cluster-Operationen auf die Nachrichten eines Nachrichtenstroms 108 anwenden (z.B., auf einer minütlichen Grundlage oder einem anderen periodischen Zeitrahmen) und eine dynamisch aktualisierte Liste von Ereignisse 112 erzeugen (z.B., eine dynamisch aktualisierte Liste von Cluster-Ketten 114). Beispielsweise kann der Ereignisdetektor 120 als ein Echtzeit-Ereignisdetektierungssystem betrachtet werden, das den vollen Nachrichtenstrom 108 empfängt und Cluster-Gruppen 144 von Trending-Entitäten 132b auf einer periodischen Grundlage (z.B., minütliches Zeitintervall oder einem anderen periodischen Zeitrahmen) identifiziert. Der Ereignisdetektor 120 kann diese Cluster-Gruppen 144 in Cluster-Ketten 114 verlinken, wenn das Ereignis 112 mit der Zeit fortschreitet, um dadurch die Cluster-Ketten 114 in Echtzeit zu verfolgen. Beispielsweise kann der Ereignisdetektor 120 ein Ereignis 112 als eine Cluster-Kette 114 modellieren, wobei eine Cluster-Kette 114 zwei oder mehr Cluster-Gruppen 144 umfasst, die zusammen verlinkt sind, und jede Cluster-Gruppe 144 zwei oder mehr Trending-Entitäten 132b umfasst.
  • Im Allgemeinen kann ein Ereignis 112 durch eine Gruppe von Entitäten dargestellt werden, die Leute verwenden, um das Ereignis 112 auf dem Nachrichtensystem 100 zu erläutern. Beispielsweise kann ein Ereignis 112 für ein Filmpreisshow durch Entitäten dargestellt werden, wie beispielsweise die nominierten Schauspieler, Schauspielerinnen und Filme, die erläutert werden. Gemäß den hier erläuterten Techniken wird, da sich die Ereignis-basierte Konversation jedoch mit der Zeit ändern kann, das Ereignis 112 als die Cluster-Kette 114 modelliert, z.B., eine Liste von Cluster-Gruppen 144 von Trending-Entitäten 132b (z.B., indiziert in zeitlicher Reihenfolge). Ein erkanntes Ereignis 112 entspricht einer Cluster-Kette 114 und wird bei einem bestimmten Zeitpunkt durch eine Cluster-Gruppe 144 von Trending-Entitäten 132b gekennzeichnet.
  • Beispielsweise kann bezugnehmend auf 1B der Ereignisdetektor 120 den Nachrichtenstrom 108 empfangen und eine erste Cluster-Gruppe 144-1 von Trending-Entitäten 132b aus einem ersten Zeitraum 196-1 detektieren und eine zweite Cluster-Gruppe 144-2 von Trending-Entitäten 132b aus einem zweiten Zeitraum 196-2 detektieren. Dann kann, wenn der Ereignisdetektor 120 definiert, dass sich die ersten und zweiten Cluster-Gruppen 144-1, 144-2 auf das gleiche Ereignis 112 beziehen, das Nachrichtensystem 100 diesen beiden Cluster-Gruppen 144 verlinken, um die Cluster-Kette 114 zu bilden. Bei einer bestimmten Zeit innerhalb des ersten Zeitraums 196-1 kann das Ereignis 112 durch die Trending-Entitäten 132b von der ersten Cluster-Gruppe 144-1 gekennzeichnet werden, was (fortfahrend mit dem obigen Beispiel) Erdbeben und Tsunami umfassen kann. Bei einer bestimmten Zeit innerhalb des zweiten Zeitraums 196-2 kann das Ereignis 112 durch die Trending-Entitäten 132b von der zweiten Cluster-Gruppe 144-2 charakterisiert werden, was (fortfahrend mit dem obigen Beispiel) Nuklear und Strahlung umfassen kann.
  • Da die erste Cluster-Gruppe 144-1 und die zweite Cluster-Gruppe 144-2 jedoch innerhalb der Cluster-Kette 114 verlinkt sind, beziehen sich diese Begriffe (z.B. Entitäten) auf das gleiche Ereignis 112 trotz des sich ändernden Wesens der Ereignis-basierten Konversation.
  • Der Ereignisdetektor 120 umfasst einen Burst-Detektor 126 und einen Cluster-Kettendetektor 136. Der Burst-Detektor 126 kann den Nachrichtenstrom 108 empfangen und Burst-Detektierungsoperationen an den Nachrichten des Nachrichtenstroms 108 ausführen, um Trending-Entitäten 132b des Nachrichtenstroms 108 zu identifizieren. Der Cluster-Kettendetektor 136 kann Cluster-Operationen an den Trending-Entitäten 132b ausführen, um die Cluster-Gruppen 144 zu detektieren und die Cluster-Ketten 114 zu bilden, die in einer Speichervorrichtung 110 gespeichert werden.
  • In einigen Beispielen ist der Burst-Detektor 126 eine Komponente (oder Modul) getrennt (oder distinkt) von dem Cluster-Kettendetektor 136, wobei der Burst-Detektor 126 und der Cluster-Kettendetektor 136 unabhängig skaliert werden können. In einigen Beispielen umfasst der Burst-Detektor 126 einen Trend-Detektordienst 128 und einen Entitätsdetektor 130. In einigen Beispielen umfasst der Burst-Detektor 126 den Trend-Detektordienst 128 und der Entitätsdetektor 130 ist als Teil des Cluster-Kettendetektors 136 enthalten.
  • In einigen Beispielen sind der Burst-Detektor 126 und der Cluster-Kettendetektor 136 durch getrennte CPUs und Speichervorrichtungen ausführbar. Außerdem kann durch Trennen der Burst-Detektierung (z.B., von dem Burst-Detektor 126 durchgeführt) der Cluster-Operationen (z.B., von dem Cluster-Kettendetektor 136 durchgeführt) der Burst-Detektor 126 eine oder mehrere seiner Funktionen parallel mit den Funktionen des Cluster-Kettendetektors 136 ausführen, was die Geschwindigkeit der Ereignisdetektierung erhöhen kann (z.B., insbesondere für soziale Medienplattformen, die eine große Datenmenge handhaben). Anstatt die Cluster-Operationen nach der Burst-Detektierung sequenziell durchzuführen, kann die Konfiguration des Ereignisdetektors 120 beispielsweise dem Burst-Detektor 126 ermöglichen, parallel (z.B., mindestens teilweise parallel) mit der Ausführung des Cluster-Kettendetektors 136 ausgeführt zu werden.
  • In einigen Beispielen umfasst die Nachrichtenplattform 104 einen Rechenressourcenmonitor 165, der konfiguriert ist, um die dem Burst-Detektor 126 und der Cluster-Kettendetektor 136 zugewiesenen Rechenressourcen zu überwachen und die Menge an Rechenressourcen, die dem Burst-Detektor 126 und dem Cluster-Kettendetektor 136 zugewiesen sind, dynamisch zu erhöhen (oder zu verringern), um eine relativ schnelle Ereignisdetektierung (z.B., in Echtzeit oder nahe Echtzeit) für einen relativ großen Nachrichtenstrom 108 zu ermöglichen. In einigen Beispielen kann der Rechenressourcenmonitor 165 die CPU-Auslastung und/oder die Speichernutzung des Burst-Detektors 126 überwachen. Wenn die CPU-Auslastung und/oder die Speichernutzung des Burst-Detektors 126 über einem Schwellenniveau ist (was beispielweise durch eine plötzliche Zunahme in der Größe des Nachrichtenstroms 108 verursacht werden kann), kann der Rechenressourcenmonitor 165 die Zuteilung von zusätzlichen Rechenressourcen an den Burst-Detektor 126 veranlassen. Außerdem kann der Rechenressourcenmonitor 165 die CPU-Auslastung und/oder Speichernutzung des Cluster-Kettendetektors 136 getrennt überwachen. Wenn die CPU-Auslastung und/oder die Speichernutzung des Cluster-Kettendetektors 136 über einem Schwellenniveau ist, kann der Rechenressourcenmonitor 165 die Zuteilung von zusätzlichen Rechenressourcen an den Cluster-Kettendetektor 136 veranlassen. Durch Verwenden unabhängiger skalierbarer Komponenten für den Burst-Detektor 126 und den Cluster-Kettendetektor 136 kann die Nachrichtenplattform 104 die Geschwindigkeit der Ereignisdetektierung erhöhen und die Flexibilität der Nachrichtenplattform 104 steigern, um sich auf die variierenden Verarbeitungslasten der Burst-Detektierung und Entität-Clustering einzustellen und die Verfolgung von Ereignissen 112 in Echtzeit zu ermöglichen.
  • Der Trend-Detektordienst 128 kann den Nachrichtenstrom 108 empfangen und Trending-Entitäten 132a in Echtzeit berechnen. Eine Trending-Entität 132a kann eine Entität sein, die in dem Nachrichtenstrom 108 bei einer ungewöhnlich hohen Rate oder bei einer über einer Schwellenbedingung erscheint, wobei die Entität ein Tag für den Inhalt in einer Nachricht des Nachrichtenstroms 108 ist. In einigen Beispielen ist die Trending-Entität 132a ein Inhalt innerhalb einer Nachricht, die sich auf ein spezifisches Objekt bezieht. In einigen Beispielen kann die Trending-Entität 132a ein Wort (oder Wörter), eine Wortverbindung, ein Hashtag, eine Kennung (z.B., Benutzerkennung, Nachrichtenkennung, usw.), eine Webressource (z.B., URL) und/oder irgendein Inhalt sein, der sich auf ein spezielles Objekt bezieht. In einigen Beispielen umfassen die Trending-Entitäten 132a benannte Entitäten, Hashtags, Kennungen (z.B., Benutzerkennungen, Nachrichtenkennungen) und URLs. In einigen Beispielen ist der Trend-Detektordienst 128 ein getrennter Dienst, der von verschiedenen Komponenten der Nachrichtenplattform 104 verwendet werden kann. In einigen Beispielen identifiziert der Trend-Detektordienst 128 Trending-Entitäten 132a in Echtzeit über geographische Regionen.
  • In einigen Beispielen kann der Trend-Detektordienst 128 eine oder mehrere Domänen definieren, wobei jede Domäne eine Teilmenge des Nachrichtenstroms 108 ist und der Trend-Detektordienst 128 einen Geschwindigkeitsgraph für eine jeweilige Domäne definieren kann (z.B., der Anzahl von Nachrichten auf der x-Achse und Zeit auf der y-Achse). Der Trend-Detektordienst 128 kann eine Schwellenanzahl von Nachrichten über einen Zeitraum (z.B., eine Spitze) definieren, um die Trending-Entitäten 132a zu detektieren.
  • In einigen Beispielen kann der Trend-Detektordienst 128 eine Reihe von Prozessoperationen ausführen, um die Trending-Entitäten 132a zu identifizieren, die Datenvorbereitung, Entitätsextraktion, Domänenextraktion, Zählung, Punktebewertung und Einstufung umfassen können, wobei die besten Punktebewertungs-Trends pro Domäne dauerhaft im Speicher beim Trend-Detektordienst 128 und verfügbar sind, um von anderen Diensten der Nachrichtenplattform 104 abgefragt zu werden, wie beispielsweise dem Trends-Manager 106, dem Entitätsdetektor 130 und/oder dem Cluster-Kettendetektor 136. Die Datenvorbereitungs-Operation kann das Entfernen von Nachrichten mit niedriger Textqualität oder empfindlichen Inhalt und das Entfernen ähnlicher Nachrichten umfassen, um im Wesentlichen sicherzustellen, dass der Beitrag zu einem Trend von einem einzelnen Benutzer begrenzt ist. Die Entität, die Domänenextraktion und Zähloperationen können für eine gegebene Nachricht das Extrahieren verfügbarer Entitäten und geographischer Domäne umfassen und für jede Domäne und Entität kann der Trend-Detektordienst 128 einen Zählwert mit einem Tupel von <Entität, Domäne, 1> umfassen und diese Informationen im Zeitverlauf aggregieren. Die Punktebewertungs-Operation kann eine Punktebewertung basierend auf Anomaliedetektierung umfassen, wobei der Trend-Detektordienst 128 erwartete <Entität, Domäne> Zählwerte berechnet und die erwarteten Zählwerte mit beobachteten Zählwerten vergleicht, um eine Punktzahl für jedes Paar zu erzeugen. Um den erwarteten Zählwert für eine Domäne und ein Entitätspaar zu berechnen, kann der Trend-Detektordienst 128 die folgende Gleichung verwenden: E ( d , e ) = N s ( d ) N l ( d ) N 1 ( d , e )
    Figure DE202020005789U1_0001
  • In Gl. (1) ist E(d,e) der erwartete Zählwert für die Domäne d und die Entität e, N1 wird über ein langes Zeitfenster gezählt und Ns wird über ein kurzes Fenster gezählt. Die Einstufungs-Operation kann das Bestimmen der besten Punktebewertungs-Trends pro Domäne umfassen und die besten Punktebewertung Trends pro Domäne sind dauerhaft im Speicher bei dem Trend-Detektordienst 128 und sind verfügbar, um abgefragt zu werden.
  • Der Entitätsdetektor 130 kann den Trend-Detektordienst 128 periodisch abfragen, um die Trending-Entitäten 132a zu erhalten und dann die Trending-Entitäten 132a bei dem Entitätsdetektor 130 zu speichern (z.B., Cache). In einigen Beispielen fragt der Entitätsdetektor 130 den Trend-Detektordienst 128 auf einer minütlichen Grundlage oder einem anderen Zeitraumintervall periodisch ab. In einigen Beispielen kann der Entitätsdetektor 130 den Trend-Detektordienst 128 auf einer periodischen Grundlage schneller als minütlich, wie beispielsweise alle 30 Sekunden oder alle 15 Sekunden oder langsamer als minütlich, wie beispielsweise alle zwei Minuten oder alle fünf Minuten, abfragen.
  • In einigen Beispielen kann der Entitätsdetektor 130 mit dem Trend-Detektordienst 128 über eine Serverkommunikationsschnittstelle kommunizieren. In einigen Beispielen kann der Entitätsdetektor 130 die Trending-Entitäten 132a des Trend-Detektordienstes 128 über eine oder mehrere Anwendungsprogrammierschnittstell(en) erhalten. In einigen Beispielen kann der Entitätsdetektor 130 einen Prozedurfernaufruf (remote procedure call; RPC) (z.B., einen Sparsamkeitsaufruf) an den Trend-Detektordienst 128 übertragen und dann die Trending-Entitäten 132a des Trend-Detektordienstes 128 empfangen. In einigen Beispielen erhält der Entitätsdetektor 130 die Trending-Entitäten 132a von einer Datenbank und die Datenbank wird durch den Trend-Detektordienst 128 beschrieben. In einigen Beispielen kann der Entitätsdetektor 130 eine Representational State Transfer (REST)-Anfrage an den Trend-Detektordienst 128 übertragen und dann die Trending-Entitäten 132a des Trend-Detektordienstes 128 empfangen. In einigen Beispielen kommuniziert der Entitätsdetektor 130 mit dem Trend-Detektordienst 128 über eine GraphQL-Anforderung.
  • Der Entitätsdetektor 130 empfängt den Nachrichtenstrom 108 und extrahiert Entitäten 132 aus dem Nachrichtenstrom 108. Beispielsweise kann der Entitätsdetektor 130 bestimmte Arten von Begriffen extrahieren, die in den Nachrichten des Nachrichtenstroms 108 enthalten sind, und diese Arten von Begriffen können als Entitäten 132 bezeichnet werden. In einigen Beispielen ist eine Entität 132, die durch den Entitätsdetektor 130 extrahiert wurde, eine Inhalt innerhalb einer Nachricht, die sich auf ein spezifisches Objekt bezieht. In einigen Beispielen ist eine Entität 132, die durch den Entitätsdetektor extrahiert wurde, ein Wort (oder Wörter), eine Wortverbindung, ein Hashtag, eine Kennung (z.B., Benutzerkennung, Nachrichtenkennung usw.), eine Webressource (z.B., URL) und/oder irgendein Inhalt, der sich auf ein spezifisches Objekt bezieht.
  • Bezugnehmend auf 1C umfassen in einigen Beispielen die Entitäten 132 benannte Entitäten 111 (z.B., „Oprah Winfrey“), Hashtags 113 (z.B., „#UsOpen“), Graphentitäten 115 (z.B., „Entität2 123“), URLs 117 und/oder Benutzerkennungen 119. In Informationsextraktion kann eine benannte Entität 111 Objekte der realen Welt sein, wie beispielsweise Personen, Orte, Organisationen, Produkte usw. Eine benannte Entität 111 kann abstrakt sein oder eine physische Existenz aufweisen. Beispiele von benannten Entitäten 111 umfassen Barack Obama oder New York City oder irgendetwas anderes, das benannt werden kann. Beispielsweise sei folgender Satz betrachtet, „Barack Obama war der Präsident der Vereinigten Staaten“, wobei sowohl „Barack Obama“ als auch die „Vereinigten Staaten“ benannte Entitäten 111 sind, da sie sich auf spezifische Objekte beziehen, wobei jedoch „Präsident“ nicht als eine benannte Entität 111 betrachtet werden kann, da sie verwendet werden kann, um sich auf irgendwelche unterschiedliche Objekte zu beziehen. Ein Hashtag 113 ist ein Wort oder eine unbeabstandete Wortverbindung in einer Nachricht, die durch ein Doppelkreuzsymbol (#) eingeführt wird. Die Graphentitäten 115 stellen die Wissensgraphentitäten der Nachrichtenplattform 104 dar. In einigen Beispielen umfassen die Graphentitäten 115 interne Darstellungen von Entitäten, die durch einen Wissensgraph erfasst werden. Die Benutzerkennungen 119 können die Benutzer- oder Kontokennungen sein, welche die Konten 118 identifizieren.
  • Der Entitätsdetektor 130 kann die Trending-Entitäten 132a (empfangen von dem Trend-Detektordienst 128) verwenden, um Nicht-Trending-Entitäten der Entitäten 132 auszufiltern, um die Trending-Entitäten 132b zu erhalten. In einigen Beispielen umfassen die Trending-Entitäten 132b ein oder mehrere des Typs von Entitäten 132, die in 1C identifiziert sind (oder alle der Typen), da die Nicht-Trending-Entitäten jedoch ausgefiltert sind, umfassen die Trending-Entitäten 132b die Entitäten 132, die im Trend sind. In einigen Beispielen umfassen die durch der Trend-Detektordienst 128 identifizierten Trending-Entitäten 132a eine größere Sammlung von Tags als die diejenigen, die durch den Entitätsdetektor 130 identifiziert wurden. Beispielsweise können Trending-Entitäten 132a die benannten Entitäten 111, die Hashtags 113, die Graphentitäten 115, die URLs 117 und die Benutzerkennungen 119 umfassen, während die durch den Entitätsdetektor 130 identifizierten Entitäten 132 die benannten Entitäten 111, die Hashtags 113 und die Graphentitäten 115 umfassen. Von daher würde, wenn eine bestimmte Benutzerkennung 119 durch den Trend-Detektordienst 128 als im Trend identifiziert wurde, der Entitätsdetektor 130 diese Benutzerkennung 119 nicht extrahieren, weil der Entitätsdetektor 130 lediglich die benannten Entitäten 111, die Hashtags 113 und die Graphentitäten 115 extrahiert. In einigen Beispielen werden die Entitäten 132 (und folglich die Trending-Entitäten 132b) erweitert, um die URLs 117 und die Benutzerkennungen 119 ebenfalls zu umfassen.
  • der Cluster-Kettendetektor 136 kann die Trending-Entitäten 132b von dem Burst-Detektor 126 empfangen und die Cluster-Kette 114 von verlinkten Cluster-Gruppen 144 mit der Zeit erzeugen, wobei die Cluster-Kette 114 ein einziges Ereignis 112 im Zeitverlauf darstellt. Die durch den Cluster-Kettendetektor 136 erzeugte Cluster-Kette 114 kann in der Speichervorrichtung 110 gespeichert werden. Beispielsweise kann der Cluster-Kettendetektor 136 kontinuierlich (z.B., periodisch) Cluster-Gruppen 144 von Trending-Entitäten 132b mit der Zeit detektieren. Beispielsweise kann der Cluster-Kettendetektor 136 ein oder mehrere Cluster-Gruppen 144 während eines ersten Zeitraums detektieren, ein oder mehrere Cluster-Gruppen 144 während eines zweiten Zeitraums detektieren, ein oder mehrere Cluster-Gruppen 144 während eines dritten Zeitraums detektieren und so weiter. In einigen Beispielen detektiert der Cluster-Kettendetektor 136 eine oder mehrere Cluster-Gruppen 144 auf einer periodischen Grundlage (z.B., jede Minute). Eine bestimmte Cluster-Gruppe 144 kann zwei oder mehr Trending-Entitäten 132b umfassen, die definiert sind, auf ähnliche Weise zueinander in einem bestimmten Zeitintervall in Beziehung zu stehen (z.B., Trending-Entitäten 132b der gleichen Cluster-Gruppe 144 können betrachtet werden, sich semantisch auf den gleichen oder ähnlichen Gegenstand zu beziehen). In einigen Beispielen können die Trending-Entitäten 132b einer bestimmten Cluster-Gruppe 144 eine gemeinsame Charakteristik gemeinsam nutzen.
  • Der Cluster-Kettendetektor 136 kann irgendeinen Typ von Community-basierten Clustering-Algorithmus ausführen, um die Cluster-Gruppen 144 zu detektieren, die einen Louvain-Algorithmus und Ähnlichkeitsgraphen umfassen oder nicht umfassen können. Dann kann der Cluster-Kettendetektor 136 eine oder mehrere Cluster-Gruppen 144 von einem aktuellen Zeitraum in einen oder mehrere Cluster-Gruppen 144 eines vorherigen Zeitraums verlinken, um die Cluster-Kette 114 zu erzeugen.
  • In weiterem Detail umfasst der Cluster-Kettendetektor 136 eine Entität-Clustering-Engine 138, einen Ähnlichkeitsgraphgenerator 148, einen Ähnlichkeitsrechner 152, ein Ähnlichkeitsgraphfilter 162, einen Cluster-Linker 168 und einen Cluster-Einstufer 170. In einigen Beispielen umfasst der Cluster-Kettendetektor 136 nicht den Ähnlichkeitsgraphgenerator 148 (z.B., ein Ähnlichkeitsgraph 146 wird nicht erzeugt). Der Ähnlichkeitsrechner 152 kann die Trending-Entitäten 132b empfangen und Ähnlichkeitswerte 150 für die Trending-Entitäten 132b basierend auf dem Frequenzzählwert 154 und Kookkurrenzen 156 über ein Zeitfenster 158 berechnen. Beispielsweise kann der Ähnlichkeitsrechner 152 die Trending-Entitäten' Frequenzzählwert 154 und Kookkurrenzen 156 über ein Zeitfenster 158 verfolgen. Das Zeitfenster 158 wird für die Aggregation von Kookkurrenzen 156 und Frequenzzählwert 154 verwendet, wie nachstehend ferner erläutert. In einigen Beispielen ist das Zeitfenster 158 ein gleitendes Zeitfenster. In einigen Beispielen kann das die Zeitfenster 158 zur Speicherverringerung eingestellt werden.
  • Der Ähnlichkeitsrechner 152 kann den Frequenzzählwert 154 und die Kookkurrenzen 156 über das Zeitfenster 158 verwenden, um die Ähnlichkeiten zwischen den Trending-Entitäten 132b zu berechnen, wobei ein jeweiliger Ähnlichkeitswert 150 ein Niveau der Ähnlichkeit zwischen zwei Trending-Entitäten 132b darstellt. In einigen Beispielen wird ein Ähnlichkeitswert 150 durch ein Kantengewicht dargestellt oder berücksichtigt. Tabelle 1 veranschaulicht ein Beispiel von drei Nachrichten aus dem Nachrichtenstrom 108. Tabelle 1
    Nachrichten-ID Text
    1 iphone™ während #appleevent freigegeben
    2 Tim Cook präsentiert das neue iphone™ #appleevent
    3 Tim Cook enthüllte das iphone™
  • Der Ähnlichkeitsrechner 152 kann die Kookkurrenzen 156 darstellen, wie in Tabelle 2 gezeigt. In diesem Beispiel umfassen die Trending-Entitäten 132b iphone™ (z.B., eine benannte Entität 111) und #appleevent (z.B., ein Hashtag 113). Tabelle 2
    Nachricht 1 Nachricht 2 Nachricht 3
    iphone™ 1 1 1
    #appleevent 1 1 0
  • Der Ähnlichkeitsrechner 152 kann Entitätsvektoren für die Trending-Entitäten 132b (z.B., iphone™ und #appleevent), wie folgt berechnen: iphone™ = [1, 1, 1], #appleevent = [1, 1, 0]. In einigen Beispielen kann beim Berechnen eines Ähnlichkeitswerts 150 für ein Paar von Trending-Entitäten 132b der Ähnlichkeitsrechner 152 den Ähnlichkeitswert basierend auf Cosinusähnlichkeit berechnen. Die Cosinusähnlichkeit für zwei Entitäten X und Y wird in Gl. (2) gezeigt:
  • cos ( X ,Y ) = X Y X Y
    Figure DE202020005789U1_0002
  • In dem obigen Beispiel kann, für die Trending-Entitäten 132b von iphone™ und #appleevent, der Ähnlichkeitsrechner 152 den Ähnlichkeitswert 150 wie folgt berechnen: cos(iphone™, #appleevent) = 0,81649. Obwohl dieses Beispiel Cosinusähnlichkeit verwendet, kann der Ähnlichkeitsrechner 152 einen beliebigen Typ von Ähnlichkeitsanalyse verwenden, die den Frequenzzählwert 154 und die Kookkurrenzen 156 über ein Zeitfenster 158 verwendet, oder eine beliebige Ähnlichkeitsanalyse, die den Ähnlichkeitsabstand (oder Niveau von Ähnlichkeit) zwischen zwei Entitäten berechnen kann.
  • Der Ähnlichkeitsgraphgenerator 148 kann einen Ähnlichkeitsgraph 146 basierend auf den Trending-Entitäten 132b und ihren entsprechende Ähnlichkeitswerten 150 erzeugen. 1D veranschaulicht einen Ähnlichkeitsgraph 146 gemäß einem Aspekt. Der Ähnlichkeitsgraph 146 umfasst Knoten 101 (z.B., Knoten 1 bis 12), welche die Trending-Entitäten 132b darstellen, und Kanten 103 stellen die Links zwischen Knoten 101 dar. Jede Kante 103 ist einem Kantengewicht zugeordnet, das der durch den Ähnlichkeitsrechner 152 berechnete Ähnlichkeitswert ist.
  • Das Ähnlichkeitsgraphfilter 162 kann den Ähnlichkeitsgraph 146 basierend auf einer Ähnlichkeitsschwelle 160 filtern, so dass Kanten 103 mit Ähnlichkeitswerten 150 kleiner als die Ähnlichkeitsschwelle 160 von dem Ähnlichkeitsgraph 146 entfernt werden. In einigen Beispielen ist die Ähnlichkeitsschwelle 160 die untere Grenze für die Ähnlichkeit von zwei Datensätzen, die zum gleichen Cluster gehören. Wenn die Ähnlichkeitsschwelle 160 beispielsweise auf 0,25 eingestellt ist, ist es unwahrscheinlich, dass Datensätzen mit Feldwerten, die weniger als mit 25% ähnlich sind, dem gleichen Cluster zugewiesen werden. In einigen Beispielen weist die Ähnlichkeitsschwelle 160 einen Bereich von 0 bis 1 auf. Die Ähnlichkeitsschwelle 160 kann eine Mindestschwelle sein, die verwendet wird, um auf die Kantengewichte (z.B., Ähnlichkeitswerte 150) des Ähnlichkeitsgraphs 146 Anwendung zu finden (z.B., Kanten 103 mit Ähnlichkeitswerten 150 kleiner als die Ähnlichkeitsschwelle 160 werden entfernt). Beispielsweise kann das Ähnlichkeitsgraphfilter 162 den Ähnlichkeitsgraph 146 unter Verwendung der Ähnlichkeitsschwelle 160 filtern (z.B., eine Mindestähnlichkeitsschwelle), um verrauschte Verbindungen zwischen den Trending-Entitäten 132b zu entfernen. Wenn der Ähnlichkeitswert 150 einer Kante 103 unter der Ähnlichkeitsschwelle 160 ist, kann das Ähnlichkeitsgraphfilter 162 diese Kante 103 von dem Ähnlichkeitsgraph 146 entfernen.
  • Die Entität-Clustering-Engine 138 kann einen Clustering-Algorithmus 140 auf den Ähnlichkeitsgraph 146 anwenden, um die Cluster-Gruppen 144 zu detektieren. Die Entität-Clustering-Engine 138 kann den Clustering-Algorithmus 140 ausführen, um den Ähnlichkeitsgraph 146 zu partitionieren, um die Cluster-Gruppen 144 zu detektieren. In einigen Beispielen umfasst der Clustering-Algorithmus 140 ein beliebiger Typ von Community-basierten Clustering-Algorithmus. In einigen Beispielen umfasst der Clustering-Algorithmus 140 einen SIM-Clustering-Algorithmus, der konfiguriert ist, um Entitäten zu vergleichen und gegenüberzustellen, um Gruppen von thematisch verwandten Entitäten zu identifizieren. In einigen Beispielen umfasst der Clustering-Algorithmus 140 einen Modularitäts-basierten Graph-Partitionierungsalgorithmus. In einigen Beispielen umfasst der Clustering-Algorithmus 140 einen Louvain-Clustering-Algorithmus. In einigen Beispielen ist der Clustering-Algorithmus 140 ein Algorithmus auf Basis maschinellen Lernens, der ein neuronales Netzwerk definiert. In einigen Beispielen umfasst der Clustering-Algorithmus 140 einen beliebigen Typ von Konnektivitäts-basierten Clustering-Algorithmus (z.B., hierarchischen Clustering-Algorithmus), Zentroid-basierten Clustering-Algorithmus, Verteilungsbasierten Clustering-Algorithmus und/oder Dichte-basierten Clustering-Algorithmus.
  • Für relativ große Netzwerke kann der Louvain-Clustering-Algorithmus in einigen Beispielen effizient sein, um Cluster-Gruppen 144 zu definieren. In einigen Beispielen ist der Clustering-Algorithmus 140 einer Auflösung 142 zugeordnet. Die Auflösung 142 kann ein Parameter des Clustering-Algorithmus 140, z.B., eines Louvain Clustering-Algorithmus sein. Die Auflösung 142 kann ein Parameter sein, der die Größe der wiederhergestellten Cluster beeinflusst. Ein großer Wert der Auflösung 142 kann zu vielen kleineren Communities führen und ein kleinerer Wert der Auflösung 142 kann zu einigen größeren Communities führen.
  • 1E kann den Ähnlichkeitsgraph 146 nach Filtern und Clustering für einen bestimmten Zeitraum gemäß einem Aspekt anschaulich darstellen. Beispielsweise kann der Ähnlichkeitsgraph 146 die Cluster-Gruppen 144 für die erste Cluster-Gruppe 144-1 von 1B anschaulich darstellen. Bezugnehmend auf 1D und 1E wurde die Kante 103 zwischen Knoten 4 und Knoten 6, die Kante 103 zwischen Knoten 5 und Knoten 7, die Kante 103 zwischen Knoten 6 und Knoten 7 und die Kante 103 zwischen Knoten 10 und Knoten 11 von dem Ähnlichkeitsgraphfilter 162 entfernt. Dann kann als Antwort auf die Anwendung des Clustering-Algorithmus 140 die Entität-Clustering-Engine 138 die Cluster-Gruppen 144 detektieren, wobei jede Cluster-Gruppe 144 zwei oder mehr Trending-Entitäten 132b (dargestellt durch die Knoten 101) umfasst. In einigen Beispielen veranschaulichen die in 1E veranschaulicht dargestellten Cluster-Gruppen 144 die Cluster-Gruppen 144 für einen bestimmten Zeitraum, z.B. entweder den ersten Zeitraum 196-1, den zweiten Zeitraum 196-2 oder den dritten Zeitraum 196-3. Dann kann während eines anschließenden Zeitraums (z.B., der nächsten Minute) die Entität-Clustering-Engine 138 die Trending-Entitäten 132b empfangen, die auf der Nachrichtenplattform 104 ausgetauscht wurden, um während des anschließenden Zeitraums und ein oder mehrere Cluster-Gruppen 144 zu detektieren.
  • Der Cluster-Linker 168 kann eine von mehreren Cluster-Gruppen 144 aus einem Zeitraum mit einer oder mehreren Cluster-Gruppen 144 von einem vorherigen Zeitraum verlinken, um die Cluster-Kette 114 zu entwickeln. Beispielsweise kann sich, nachdem die Entität-Clustering-Engine 138 den Clustering-Algorithmus 140 anwendet, um Cluster-Gruppen 144 für einen gegebenen Zeitraum CT (z.B., gegebene Minute) zu erzeugen, der Cluster-Linker 168 mit den Cluster-Gruppen 144 des vorherigen Zeitraums CT-1 (z.B., vorherige Minute) verlinken. In einigen Beispielen kann der Cluster-Linker 168 die Cluster-Gruppen 144 basierend auf einer Anzahl von Trending-Entitäten 132b verlinken, die zwischen einer Cluster-Gruppe 144 eines Zeitraums und einer Cluster-Gruppe 144 von dem vorherigen Zeitraum gemeinsam benutzt werden.
  • Unter erneuter Bezugnahme auf 1B kann ein Ereignis 112 als eine Cluster-Kette 114 mit einer ersten Cluster-Gruppe 144-1, einer zweiten Cluster-Gruppe 144-1 und einer dritten Cluster-Gruppe 144-3 dargestellt werden. Das Ereignis 112 (oder die Cluster-Kette 114) kann Ereignismetadaten 192 umfassen oder diesen zugeordnet sein. Die Ereignismetadaten 192 können die erfasste Startzeit und Endzeit des Ereignisses 112 umfassen. In einigen Beispielen kann jede Cluster-Gruppe 144 Cluster-Metadaten 141 umfassen oder diesen zugeordnet sein. In einigen Beispielen können die Cluster-Metadaten 141 den Entitätsfrequenzzählwert der Trending-Entitäten 132b umfassen, der durch eine jeweilige Cluster-Gruppe 144 definiert ist. In einigen Beispielen können die Cluster-Metadaten 141 den Frequenzzählwert 154 für jede der Trending-Entitäten 132b einer jeweiligen Cluster-Gruppe 144 umfassen. In einigen Beispielen können die Cluster-Metadaten 141 die Gesamtzahl des Frequenzzählwerts 154 über sämtliche der Trending-Entitäten 143 einer jeweiligen Cluster-Gruppe 144 umfassen. In einigen Beispielen können die Cluster-Metadaten 141 die Anzahl von Kookkurrenzen 156 für jede Trending-Entität 132b oder über sämtliche der Trending-Entitäten 132b einer jeweiligen Cluster-Gruppe 144 umfassen. In einigen Beispielen können die Cluster-Metadaten 141 die Cluster-Kennung 166 einer jeweiligen Cluster-Gruppe 144 umfassen.
  • Die erste Cluster-Gruppe 144-1 ist einem ersten Zeitraum 196-1 zugeordnet, die zweite Cluster-Gruppe 144-2 ist einem zweiten Zeitraum 196- 2 zugeordnet und die dritte Cluster-Gruppe 144-3 ist einem dritten Zeitraum 196-3 zugeordnet. Der zweite Zeitraum 196-2 kann nach dem ersten Zeitraum 196-1 stattfinden und der dritte Zeitraum 196-3 kann nach dem zweiten Zeitraum 196-2 stattfinden. Obwohl jeder der Zeiträume eine Cluster-Gruppe 144 anschaulich darstellt, können der erste Zeitraum 196-1, der zweite Zeitraum 196-2 und der dritte Zeitraum 196-3 mehrere Cluster-Gruppen 144 umfassen (z.B., wie in 1E gezeigt). In einigen Beispielen weist jeweils der erste Zeitraum 196-1, der zweite Zeitraum 196-2 und der dritte Zeitraum 196-3 die gleiche zeitliche Länge auf (z.B., jeder weist eine zeitliche Länge von einer Minute auf). Die Ausführungsformen können jedoch ein beliebiges periodisches Zeitintervall einschließen, um Cluster-Gruppen 144 zu verlinken. Die erste Cluster-Gruppe 144-1 umfasst Trending-Entitäten 132b des ersten Zeitraums 196-1 (z.B., Entität A, Entität B, Entität C), die zweite Cluster-Gruppe 144-2 umfasst Trending-Entitäten 132b des zweiten Zeitraums 196-2 (z.B., Entität A, Entität D, Entität C) und die dritte Cluster-Gruppe 144-3 umfasst Trending-Entitäten 132b des dritten Zeitraums 196-3 (z.B., Entität A, Entität D, Entität E) .
  • Falls der Cluster-Linker 168 definiert, dass die zweite Cluster-Gruppe 144-2 mit der ersten Cluster-Gruppe 144-2 verwandt ist, erzeugt der Cluster-Linker 168 einen Link 194 zwischen der ersten Cluster-Gruppe 144-2 und der zweiten Cluster-Gruppe 144-2. Auf ähnliche Weise erzeugt, wenn der Cluster-Linker 168 definiert, dass die dritte Cluster-Gruppe 144-3 mit der zweiten Cluster-Gruppe 144-2 verwandt ist, der Cluster-Linker 168 einen Link 194 zwischen der zweiten Cluster-Gruppe 144-2 und der dritten Cluster-Gruppe 144-3. Wie in 1B gezeigt, wird das Ereignis 112 im Zeitverlauf (z.B., über den ersten Zeitraum 196-1, den zweiten Zeitraum 196-2 und den dritten Zeitraum 196-3) durch Verlinken der Cluster-Gruppen 144 der unterschiedlichen Zeiträume dargestellt. Wie in 1B gezeigt, wurde während des zweiten Zeitraums 196-2 die Trending-Entität 132b von „Entität D“ eingeführt (und während des dritten Zeitraums 196-3 wurde die Trending-Entität 132 von „Entität E“ eingeführt), wobei jedoch unter Verwendung der hier beschriebenen Techniken der Ereignisdetektor 120 jene später eingeführten Begriffs im Zusammenhang mit dem gleichen Ereignis 112 als die Trending-Entitäten 132b von der ersten Cluster-Gruppe 144-1 detektieren kann, da das Ereignis 112 als eine Liste von Cluster-Gruppen 144 im Zeitverlauf modelliert wird.
  • Der Link 194 zwischen der zweiten Cluster-Gruppe 144-2 und der ersten Cluster-Gruppe 144-1 gibt an, dass sich die erste Cluster-Gruppe 144-1 und die zweite Cluster-Gruppe 144-2 auf das gleiche Ereignis 112 beziehen. Ebenfalls weist, wie in 1B gezeigt, die Cluster-Kette 114 einen Link 194 zwischen der dritten Cluster-Gruppe 144-3 und der zweiten Cluster-Gruppe 144-2 auf, was angibt, dass die erste Cluster-Gruppe 144-1, die zweite Cluster-Gruppe 144-2 und die dritte Cluster-Gruppe 144-3 mit dem gleichen Ereignis 112 verwandt sind.
  • In einigen Beispielen ist der Link 194 ein Kantengewicht, das ein Ähnlichkeitsniveau zwischen der ersten Cluster-Gruppe 144-1 und der zweiten Cluster-Gruppe 144-2 darstellt. In einigen Beispielen ist das Kantengewicht ein Maß der Anzahl von Trending-Entitäten 132b, die zwischen der ersten Cluster-Gruppe 144-1 und der zweiten Cluster-Gruppe 144-2 gemeinsam genutzt werden. In einigen Beispielen ist das Kantengewicht ähnlich oder gleich wie das Kantengewicht (z.B., der Ähnlichkeitswert 150) mit Bezug auf den Ähnlichkeitsgraphgenerator 148. In einigen Beispielen wird, wenn das dem Link 194 zugeordnete Kantengewicht unter einem Schwellenwert ist, der Link 194 entfernt. In einigen Beispielen definiert der Cluster-Linker 168 den Link 194 zwischen der ersten Cluster-Gruppe 144-1 und der zweiten Cluster-Gruppe 144-2 basierend auf einem maximalen gewichteten bipartiten Abgleich. In einigen Beispielen umfasst der maximale gewichtete bipartite Abgleich ein Optimierungsproblem, um einen maximalen Gewichtungsabgleich zu finden.
  • In einigen Beispielen ist der Cluster-Linker 168 konfiguriert, um einen bipartiten Graph zu erzeugen, wobei die Cluster-Gruppen 144 aus dem gegebenen Zeitraum CT mit den Cluster-Gruppen 144 aus dem vorherigen Zeitraum CT-1 verbunden sind. Ein bipartiter Graph (z.B., G = (U, V, E)) ist ein Graph, dessen Scheitelpunkte in zwei disjunkte Sätzen U und V geteilt werden können, so dass jede Kante (ui, vj) ∈ E einen Scheitelpunkt ui ∈ U und eine vj ∈ V verbindet. Falls jede Kante im Graph G ein zugeordnetes Gewicht wij aufweisen, wird der Graph G ein gewichteter bipartiter Graph genannt. In einem bipartiten Graph ist ein Abgleich M von Graph G eine Teilmenge von E, so dass keine zwei Kanten in M einen gemeinsamen Scheitelpunkt gemeinsam nutzen. Falls der Graph G ein gewichteter bipartiter Graph ist, ist der maximale gewichtete bipartite Abgleich ein Abgleich, bei dem die Summe der Gewichte der Kanten maximal ist. Das Kantengewicht zwischen ihnen kann ein Maß davon sein, wie viele Entitäten diese Cluster-Gruppen 144 gemeinsam nutzen, ähnlich der früher beschriebenen Cosinusähnlichkeit. Der Cluster-Linker 168 kann jegliche Kanten ausfiltern, deren Gewicht unter eine Schwelle fällt, und einen maximalen gewichteten bipartiten Abgleich durchführen, um Cluster-Links zu finden.
  • In einigen Beispielen kann, wenn eine Cluster-Gruppe 144 erfolgreich verlinkt ist, der Cluster-Linker 168 die Cluster-Kennung 166 der Cluster-Gruppe 144 des vorherigen Zeitraums auf die Cluster-Gruppe 144 in dem gegebenen Zeitraum kopieren. Für irgendwelche Cluster-Gruppen 144, die nicht verlinkten sind, kann der Cluster-Linker 168 eine neue eindeutige Cluster-Kennung 166 erzeugen. Beispielsweise kann, wenn die erste Cluster-Gruppe 144-1 nicht mit einer Cluster-Gruppe 144 eines vorherigen Zeitraums verlinkt ist, der Cluster-Linker 168 eine Cluster-Kennung 166 (z.B., eine neue, eindeutige Kennung) der ersten Cluster-Gruppe 144-1 zuweisen. Da die zweite Cluster-Gruppe 144-2 mit der ersten Cluster-Gruppe 144-1 (über dem Link 194) verlinkt ist, kann der Cluster-Linker 168 die gleiche Cluster-Kennung 166, die der ersten Cluster-Gruppe 144-1 zugewiesen wurde, der zweiten Cluster-Gruppe 144-2 zuweisen. Auf ähnliche Weise kann, da die dritte Cluster-Gruppe 144-3 mit der zweiten Cluster-Gruppe 144-2 verlinkt ist, der Cluster-Linker 168 die gleiche Cluster-Kennung 166, die der der zweiten Cluster-Gruppe 144-2 zugewiesen wurde, der dritten Cluster-Gruppe 144-3 zuweisen. Von daher kann in einigen Beispielen die Cluster-Kennung 166 die gleiche für jede der Cluster-Gruppen 144 innerhalb einer bestimmten Cluster-Kette 114 sein.
  • Der Cluster-Einstufer 170 kann die Cluster-Gruppen 144 innerhalb der Cluster-Kette 114 einstufen. Beispielsweise kann, mit Bezug auf die Cluster-Kette 114 von 1B, der Cluster-Einstufer 170 eine eingestufte Liste der ersten Cluster-Gruppe 144-1, der zweiten Cluster-Gruppe 144-2 und der dritten Cluster-Gruppe 144-3 definieren. In einigen Beispielen kann der Cluster-Einstufer 170 die Cluster-Gruppen 144 basierend auf der gesamten Popularitätsmetrik der Trending-Entitäten 132b einstufen, die innerhalb einer jeweiligen Cluster-Gruppe 144 enthalten sind. Beispielsweise kann, mit Bezug auf die erste Cluster-Gruppe 144-1, der Cluster-Einstufer 170 eine Popularitätsmetrik identifizieren, die jeder Trending-Entitäten 132b zugeordnet ist, die der ersten Cluster-Gruppe 144-1 zugeordnet sind, und dann die Popularitätsmetriken aggregieren, um eine Gesamtheit (gesamte Popularitätsmetrik) zu erhalten. Der Cluster-Einstufer 170 kann die gleichen Operationen mit Bezug auf die zweite Cluster-Gruppe 144-2 und die dritte Cluster-Gruppe 144-3 durchführen. Dann kann der Cluster-Einstufer 170 die erste Cluster-Gruppe 144-1, die zweite Cluster-Gruppe 144-2 und die dritte Cluster-Gruppe 144-3 gemäß ihrer gesamten Popularitätspunktzahl einstufen.
  • Der Ereignisdetektor 120 kann die Cluster-Kette 114 in der Speichervorrichtung 110 speichern. Beispielsweise kann der Ereignisdetektor 120 die eingestufte Liste von Cluster-Gruppen 144 in der Speichervorrichtung 110 speichern, so dass die Cluster-Kette 114 (oder Abschnitte davon) durch den Cluster-Kettendetektor 136 für zukünftige Schritte des Verlinkens abgerufen werden kann oder durch ein oder mehrere andere Dienste abgerufen werden kann, die von der Nachrichtenplattform 104 bereitgestellt werden.
  • Die Nachrichtenplattform 104 kann digitale Daten 190 (über das Netzwerk 172) an die Client-Anwendung 176 übertragen, um Informationen über das(die) Ereignis(se) 112 in der Benutzerschnittstelle 178 der Client-Anwendung 176 zu rendern. Die Informationen über das(die) Ereignis(se) 112 können Cluster-Ketteninformationen 184 umfassen. Die Cluster-Ketteninformationen 184 können ein oder mehrere Ereignisse 112 identifizieren und eine oder mehrere Trending-Entitäten 132b von einer oder mehreren Cluster-Gruppen 144 mit der Zeit identifizieren. In einigen Beispielen ist die Cluster-Ketteninformationen 184 in den Trends 182 aufgenommen. Beispielsweise können die Trends 182 eine Liste von Trending-Themen identifizieren, die Trending-Hashtags umfassen. In einem bestimmten Beispiel kann der Hashtag „#bucks“ im Trend sein und als Teil eines Ereignisses 112 umfasst sein. In einigen Beispielen kann der Trends-Manager 106 die Cluster-Ketten 114 empfangen und definieren, ob ein oder mehrere verwandte Begriffe, die dem Ereignis 112 zugeordnet sind, zu identifizieren sind. Der Hashtag „#bucks“ kann als Teil der ersten Cluster-Gruppe 144-1 umfasst sein und ein anderer Begriff („Giannis“) kann als Teil der zweiten Cluster-Gruppe 144-2 umfasst sein. Der Trends-Manager 106 kann die Cluster-Kette 114 für dieses Ereignis 112 verwenden, um die Entität (Giannis) zu identifizieren und die Entität (Giannis) als einen verwandten Begriff für den Trending-Hashtag von „#bucks“ anzugeben.
  • In einigen Beispielen sind die Cluster-Ketteninformationen 184 als Teil der Zeitachse des Benutzers 180 aufgenommen. Beispielsweise kann der Zeitachsenmanager 163 die Cluster-Ketten 114 empfangen und definieren, ob irgendeine der Nachrichten, die in der Zeitachse des Benutzers 180 zu rendern ist, Trending-Entitäten 132b innerhalb der Cluster-Ketten 114 umfasst. Falls ja, kann der Zeitachsenmanager 163 andere Trending-Entitäten 132b der gleichen Cluster-Gruppe 144 oder Trending-Entitäten 132b von anderen Cluster-Gruppen 144 identifizieren, die Teil der gleichen Cluster-Kette 114 sind.
  • Die Zeitachse 180 kann einen Strom von Nachrichten umfassen, der eine Liste von Nachrichten umfasst, die von Konten 118 mit einer Beziehung mit dem Konto 118 des Benutzers der Client-Anwendung 176 in dem Verbindungsgraph 116 gesendet wurden. In einigen Beispielen wird der Strom von Nachrichten, der als Teil der Zeitachse 180 umfasst ist, eingestuft und das Einstufen der Nachrichten kann (teilweise) auf dem erkannten Ereignis 112 basieren. Beispielsweise kann, wie mit Bezugnahme auf 1B erläutert, das Ereignis 112 Ereignismetadaten 192 umfassen, welche die erfasste Startzeit des Ereignisses 112 und die erfasste Endzeit des Ereignisses 112 identifizieren. Die erfasste Startzeit kann auf der Zeit basieren, die der ersten Cluster-Gruppe 144 der Cluster-Kette 114 zugeordnet ist, und die erfasste Endzeit kann auf der Zeit basieren, die der letzten Cluster-Gruppe 144 der Cluster-Kette 114 zugeordnet ist. Der Zeitachsenmanager 163 kann das Ereignis 112 empfangen, welches die Trending-Entitäten 132b über die unterschiedliche Cluster-Gruppen 144 identifiziert, die zu diesem Ereignis 112 (oder der Cluster-Kette 114) gehören. Der Zeitachsenmanager 163 kann bestimmen, ob eine Nachricht, die als Teil der Zeitachse des Benutzers 180 zu rendern ist, eine Trending-Entität 132b aus der Cluster-Kette 114 während der Dauer des Ereignisses 112 umfasst (z.B., zwischen der erkannten Startzeit und der erkannten Endzeit). Wenn diese Nachricht eine Trending-Entität 132b umfasst, die Teil der Cluster-Kette 114 während der Dauer des Ereignisses 112 ist, dann kann der Zeitachsenmanager 163 diese Nachricht innerhalb der Einstufung der Zeitachse des Benutzers 180 verstärken (oder hochstufen).
  • In einigen Beispielen umfasst die Zeitachse 180 einen geförderten Inhalt, der Ankündigungsnachrichten umfassen kann. Ähnlich zu Nachrichten, die gemäß dem Verbindungsgraph 116 zu liefern sind, kann eine geförderte Nachricht in der Einstufung der Zeitachse verstärkt werden, wenn diese geförderte Nachricht eine Trending-Entität 132 der Cluster-Kette 114 während der Dauer des Ereignisses umfasst. In einigen Beispielen umfasst die Nachrichtenplattform 104 eine Ankündigungsstapel-Engine, die konfiguriert ist, um Preisbildung für geförderte Nachrichten zu definieren. In einigen Beispielen kann die Ankündigungsstapel-Engine ihre Preisbildung für geförderten Inhalt erhöhen, wenn der geförderte Inhalt eine oder mehrere Trending-Entitäten 132 während der Dauer des Ereignisses 112 umfasst.
  • In einigen Beispielen werden die Cluster-Ketteninformationen 184 als Teil der Suchergebnisse 186 aufgenommen. Beispielsweise kann ein Benutzer eine Abfragesuche übermitteln und der Suchmanager 161 kann die Cluster-Ketten 114 verwenden, um die Suchergebnisse 186 zu expandieren, um andere verwandte Entitäten zu umfassen. Beispielsweise kann als Antwort auf eine Abfrage für #bucks der Suchmanager 161 die Liste von Ereignissen 112 erhalten, und wenn der Begriff #bucks einem Ereignis 112 zugeordnet ist, kann der Suchmanager 161 Nachrichten zurückgeben, die den Begriff #bucks umfassen, und kann einen vorgeschlagenen Begriff identifizieren (z.B., eine andere Trending-Entität 132b der gleichen Cluster-Kette 114) oder Suchergebnisse zurückgeben, die Nachrichten mit andere Trending-Entitäten 132b umfassen, die dem Begriff #bucks zugeordnet sind.
  • 2 veranschaulicht ein Beispiel einer Benutzerschnittstelle 278 einer Client-Anwendung 276, die Cluster-Ketteninformationen 284 innerhalb eines Trends-Abschnitts 282 der Client-Anwendung 276 anschaulich darstellt. Der Trends-Abschnitt 282 zeigt eine Liste von Trending-Entitäten an, z.B., #WorldRefugeeDay und #NBADraft. Mit Bezug auf eine oder mehrere auf dem Trends-Abschnitt 282 identifizierten Entitäten rendert die Client-Anwendung 276 eine verwandte Linie (z.B., die Cluster-Ketteninformationen 284), die eine oder mehrere verwandte Entitäten identifiziert (z.B., die Cluster-Ketten 114 definiert). Beispielsweise identifiziert die Cluster-Ketteninformationen 284 verschiedene Trending-Entitäten (z.B., Trending-Entitäten 132b) (z.B., „#WithRefugees“, „Today is World Refugee Day“), die als Teil der gleichen Cluster-Kette 114 umfasst sind.
  • 3 veranschaulicht einen Prozessablauf 300 für Ähnlichkeit-basierte zeitliche Ereignisdetektierung gemäß einem Aspekt. Der Prozessablauf 300 wird mit Bezug auf das Nachrichtensystem 100 von 1A bis 1E beschrieben und kann irgendeine der Einzelheiten umfassen, die mit Bezugnahme auf jene Figuren erläutert werden. Obwohl das Ablaufdiagramm 300 von 3 die Operationen in sequenzieller Reihenfolge veranschaulicht, versteht es sich, dass dies lediglich ein Beispiel ist und dass zusätzliche oder alternative Operationen umfasst sein können. Ferner können Operationen von 3 und verwandte Operationen in einer unterschiedlichen Reihenfolge als jene ausgeführt werden, die gezeigt sind, oder können in einer parallelen oder überlappenden Art und Weise ausgeführt werden.
  • Bei Operation 301 wird eine Entitätsextraktion durch den Ereignisdetektor 120 durchgeführt. Beispielsweise empfängt der Entitätsdetektor 130 den Nachrichtenstrom 108 und extrahiert die Entitäten 132 aus den Nachrichten des Nachrichtenstroms 108. In einigen Beispielen umfassen die Entitäten 132 die benannten Entitäten 111 und die Hashtags 113. In einigen Beispielen umfassen die Entitäten 132 die benannten Entitäten 111, die Hashtags 113, die Graphentitäten 115, die URLs 117 und/oder die Benutzerkennungen 119.
  • Bei Operation 303 wird Entitätsfiltern durch den Ereignisdetektor 120 durchgeführt. Beispielsweise kommuniziert der Entitätsdetektor 130 mit dem Trend-Detektordienst 128, um die Trending-Entitäten 132a zu erhalten. Der Entitätsdetektor 130 kann die von dem Trend-Detektordienst 128 empfangenen Trending-Entitäten 132a verwenden, um irgendwelche Nicht-Trending-Entitäten der Entitäten 132 auszufiltern, um eine Liste von Trending-Entitäten 132b zu erhalten.
  • Bei Operation 305 werden durch den Ereignisdetektor 120 Ähnlichkeiten berechnet. Beispielsweise ist der Ähnlichkeitsrechner 152 konfiguriert, um einen Ähnlichkeitswert 150 für Paare von Trending-Entitäten 132b zu berechnen. Beispielsweise empfängt der Ähnlichkeitsrechner 152 die Trending-Entitäten 132b und verfolgt ihren Frequenzzählwert 154 und Kookkurrenzen zwischen ihnen über ein Zeitfenster 158. Der Ähnlichkeitsrechner 152 verwendet die Frequenzzählwerte 154 und die Kookkurrenzen 156, um die Ähnlichkeitswerte 150 zwischen Trending-Entitäten 132b zu berechnen. In einigen Beispielen berechnet der Ähnlichkeitsrechner 152 die Cosinusähnlichkeit für zwei Trending-Entitäten. In einigen Beispielen kann der Ähnlichkeitsgraphgenerator 148 einen Ähnlichkeitsgraph 146 konstruieren, der die Trending-Entitäten 132b als Knoten 101 und die Ähnlichkeitswerte 150 als Kantengewichte für Kanten 103 darstellen, die zwei Knoten 101 verbinden.
  • Bei Operation 307 wird eine Ähnlichkeitsfilterung von dem Ereignisdetektor 120 durchgeführt. Beispielsweise wird die Ähnlichkeitsschwelle 160 verwendet, um mit Rauschen behaftete Verbindungen in dem Ähnlichkeitsgraph 146 auszufiltern. Der Ähnlichkeitsgraphfilter 162 kann den Ähnlichkeitsgraph 146 unter Verwendung der Ähnlichkeitsschwelle 160 filtern, wobei Kanten 103 mit Ähnlichkeitswerten 150 unter der Ähnlichkeitsschwelle 160 aus dem Ähnlichkeitsgraph 146 entfernt werden.
  • Bei Operation 309 wird Entitäts-Clustering durch den Ereignisdetektor 120 durchgeführt. In einigen Beispielen kann bei dieser Stufe die Entität-Clustering-Engine 138 einen Clustering-Algorithmus 140 ausführen, um den Ähnlichkeitsgraph 146 zu partitionieren, um die Cluster-Gruppen 144 von Trending-Entitäten 132b zu detektieren. In einigen Beispielen umfasst der Clustering-Algorithmus 140 einen Louvain-Clustering-Algorithmus mit einer Auflösung 142.
  • Bei Operation 311 wird Cluster-Verlinken durch den Ereignisdetektor 120 durchgeführt. Beispielsweise ist der Cluster-Linker 168 (bzw. Cluster-Linker 168) konfiguriert, um Cluster-Gruppen 144 zu verlinken, die dem gleichen Ereignis 112 zugehören. Sobald Community-Detektierung (z.B., Entitäts-Clustering) angewendet wird, um die Cluster-Gruppen 144 für einen Zeitraum zu erzeugen, kann der Cluster-Linker 168 auf die Cluster-Gruppen 144 in dem vorherigen Zeitraum verweisen. In einigen Beispielen ist der Cluster-Linker 168 konfiguriert, um einen bipartiten Graph zu konstruieren, wobei Cluster-Gruppen 144 in dem aktuellen Zeitraum und Cluster-Gruppen 144 in dem vorherigen Zeitraum bereitgestellt werden. Das Kantengewicht zwischen ihnen ist ein Maß davon, wie viele Entitäten diese Cluster-Gruppen 144 gemeinsam nutzen, ähnlich der früher beschriebenen Cosinusähnlichkeit. Der Cluster-Linker 168 kann jegliche Kanten ausfiltern, deren Gewicht unter eine Schwelle fällt und einen gewichteten bipartiten Abgleich durchführen, um Cluster-Links zu finden. Wenn eine Cluster-Gruppe 144 erfolgreich verlinkt ist, kopiert der Cluster-Linker 168 über die Cluster-Kennung 166 der Cluster-Gruppe 144 in dem vorherigen Zeitraum auf die Cluster-Gruppe 144 in den aktuellen Zeitraum. Für irgendwelche Cluster, die nicht verlinkt sind, kann der Cluster-Linker 168 eine neue eindeutige Cluster-Kennung 166 erzeugen.
  • Bei Operation 313 wird eine Cluster-Einstufung durch den Ereignisdetektor 120 durchgeführt. Beispielsweise kann der Cluster-Einstufer 170 die Cluster-Gruppen 144 einstufen. In einigen Beispielen kann der Cluster-Einstufer 170 die Cluster-Gruppen 144 basierend auf der aggregierten Popularität der Trending-Entitäten 132b einstufen, die innerhalb einer jeweiligen Cluster-Gruppe 144 enthalten sind.
  • Bei Operation 315 wird die Cluster-Kette 114 in der Speichervorrichtung 110 gespeichert. Beispielsweise sind die verlinkten, eingestuften Listen von Cluster-Gruppen 144 persistent zu der Speichervorrichtung 110, so dass sie innerhalb des Cluster-Kettendetektors 136 für zukünftige Cluster-Verlinkungsschritte abgerufen werden können oder von anderen Dienste (z.B., dem Zeitachsenmanager 163, dem Trends-Manager 106, dem Suchmanager 161 usw.) abgerufen werden können.
  • In einigen Beispielen ist der Ereignisdetektor 120 konfiguriert, um einen Ähnlichkeits-basierten zeitlichen Ereignis-Detektierungsalgorithmus (z.B., Algorithmus 1) auszuführen, um die Cluster-Kette 114 zu erzeugen. Beispielsweise kann der Algorithmus 1 ein Beispiel des Prozessablaufes 300 von 3 sein. Die Eingabe in den Algorithmus 1 kann der Nachrichtenstrom 108, die Ähnlichkeitsschwelle 160 (S), die Auflösung 142 (R) und das Zeitfenster 158 (W) sein. Die Ausgabe des Algorithmus 1 kann die Liste von Cluster-Gruppen 144 für ein Zeitintervall (z.B., für eine Minute T) sein. Der Pseudocode für den Algorithmus 1 wird bereitgestellt, wobei seine Operationen in die Operationen von 3 abgebildet werden. Wie nachstehend angegeben, verwendet der Algorithmus 1 einen Louvain-Algorithmus, der in einigen Beispielen ein oder mehrere Clustering-Vorteile bereitstellt (wie ferner in der Offenbarung erläutert). Der Algorithmus 1 kann jedoch einen beliebigen Typ von Community-Detektierungsalgorithmus verwenden. Außerdem baut, wie nachstehend angegeben, der Algorithmus 1 Ähnlichkeitsgraphen. in einigen Beispielen werden Ähnlichkeitsgraphen jedoch nicht verwendet, um verwandte Entitäten zu gruppieren.
    Figure DE202020005789U1_0003
    Figure DE202020005789U1_0004
  • Unter erneuter Bezugnahme auf 1A kann der Ereignisdetektor 120 in einem Offline-Analysemodus 122 ausgeführt werden, um die Qualität der Ergebnisse des Ereignisdetektors 120 zu bewerten (unter Verwendung einer oder mehrerer Leistungsmetriken, um seine Leistung zu beurteilen) und dann einen oder mehrere Parameter des Ereignisdetektors 120 ändern oder einstellen, wie beispielsweise die Auflösung 142, die Ähnlichkeitsschwelle 160 und/oder das Zeitfenster 158.
  • 4 veranschaulicht ein Beispiel des Ereignisdetektors 120 im Offline-Analysemodus 122 gemäß einem Aspekt. Im Offline-Analysemodus 122 kann der Ereignisdetektor 120 einen Auswertungsdatensatzstrom 105 empfangen und die Cluster-Ketten 114 berechnen. In einigen Beispielen umfasst der Auswertungsdatensatzstrom 105 die Nachrichten über einen bestimmten Zeitraum (z.B., einen Tag, mehrere Tage, eine Woche usw.) in einem bestimmten geographischen Auswertungsdatensatzstrom (oder mehreren geographische Auswertungsdatensatzströmen oder weltweit). In einigen Beispielen umfasst der Auswertungsdatensatzstrom 105 die Nachrichten, die auf der Nachrichtenplattform 104 im Laufe eines Tages (z.B., eines Zeitraums von 24 Stunden) ausgetauscht wurden.
  • Der Ereignisdetektor 120 kann Entitäten 132 (z.B., Hashtags 113, benannte Entitäten 111 und Graph-basierte Entitäten 115 usw.) extrahieren. Dann kann der Ereignisdetektor 120 die gleiche Operationen durchführen, wie oben erläutert, jedoch ohne irgendwelche Ähnlichkeitsfiltern (z.B., ohne Filtern des Ähnlichkeitsgraphs 146 unter Verwendung der Ähnlichkeitsschwelle 160), was einen Satz von rohen Cluster-Ketten 114 erzeugt. Dann können die Entitäts-Filterprozesse abgestimmt werden, um Cluster-Qualität zu optimieren. Für jede Cluster-Kette 114 kann der Ereignisdetektor 120 sämtliche Trending-Entitäten 132b von jedem Zeitpunkt erhalten und einen deduplizierten Satz von Trending-Entitäten 132b pro Cluster-Kette 114 erzeugen. Für jede Cluster-Kette 114 kann ein Satz von repräsentativen Nachrichten (z.B., 20 Nachrichten, welche die 10 erneut am meisten gemeinsam genutzten und 10 Zufallsnachrichten umfassen können), die mindestens zwei gemeinsam auftretende Entitäten der Cluster-Kette 114 enthielten.
  • In einigen Beispielen wird als Teil der Offline-Analyse der Satz von repräsentativen Nachrichten manuell untersucht, und wenn die Cluster-Kette 114 einem Ereignis 112 entspricht, werden eine Cluster-Kennung 166 und ein Titel zugewiesen, wie in Tabelle 3 unter gezeigt. Tabelle 3
    Trending-Entity 132b Cluster-Kennung 166 Titel Relevant?
    #madisonkeys 1 Viertelfinale US Open Frauen J
    #usopen 1 Viertelfinale US Open Frauen J
    Minnesota 1 Viertelfinale US Open Frauen N
  • Falls die Cluster-Kette 114 mehrere Ereignisse 112 enthält, werden unterschiedliche Cluster-Kennungen 166 und Titel für jede von ihnen erzeugt. Dann werden sämtliche Titel geprüft und die Duplikate werden in einer einzigen Cluster-Kennung 166 zusammengeführt. Irrelevante Entitäten werden ebenfalls markiert und als falsch-positive Beispiele gespeichert (z.B., siehe Minnesota in Tabelle 3). Der Datensatz wird von einer getrennten Einzelperson kreuzvalidiert, um Zuverlässigkeit sicherzustellen. In einem Beispiel enthält der Bewertungskorpus 2695 Trending-Entitäten 132b und 460 Ereignisse 112 (z.B., unterschiedliche Cluster-Kennungen 166) .
  • Im Offline-Analysemodus 122 kann der Ereignisdetektor 120 in einigen Beispielen auf dem gleichen Satz von Nachrichten wie der Auswertungsdatensatzstrom 105, jedoch mit unterschiedlichen Einstelllungen ausgeführt werden, und die Leistung des Ereignisdetektors 120 wird mit einem oder mehreren der folgenden Parameter und Leistungsmetriken bewertet: Bruchteil der erkannten Ereignisse 121, Konsolidierung 123, Unterscheidung 125, Auflösung 142, Clustering-Punktzahl 127, Bruchteil des zusammengeführten Ereignisses 129, Bruchteil des duplikaten Ereignisses 131 und Ähnlichkeitsschwelle 160.
  • Der Bruchteil der erkannten Ereignisse 121 kann die Abdeckung des Ereignisdetektierungsprozesses reflektieren. Beispielsweise kann der Ereignisdetektor 120 den Bruchteil von Ereignissen des Auswertungsdatensatzstroms 105 berechnen. Eine Trending-Entität 132b ist als eindeutig definiert, wenn sie lediglich mit einem Ereignis 112 verwandt ist. Ein Ereignis 112 wird erfasst, wenn eine Cluster-Gruppe 144 mit einer Größe existiert, die größer als eine ist, die mindestens eine eindeutige Trending-Entität 132b von diesem Ereignis 112 enthält. In einigen Beispielen ist die Clustering-Qualität nicht das Anliegen dieser Metrik. Daher werden, wenn eine einzige Cluster-Gruppe 144 existiert, die eindeutige Trending-Entitäten 132b von verschiedenen Ereignissen 112 enthält, all diese Ereignisse 112 betrachtet, erkannt zu sein.
  • In einigen Beispielen kann die Ähnlichkeitsschwelle 160 als das primäre Filter betrachtet werden, das den Bruchteil der erkannten Ereignisse beeinflusst. 5A veranschaulicht einen Graph 510, der den Bruchteil der erkannten Ereignisse 121 für ein zunehmenden Wert der Ähnlichkeitsschwelle 160 anschaulich darstellt, gemäß einem Aspekt. Wie in 5A gezeigt nimmt, wenn die Ähnlichkeitsschwelle 160 erhöht wird, der Bruchteil der erkannten Ereignisse 121 ab, was darauf beruht, dass mehr Kanten 103 ausgefiltert werden. Mit anderen Worten sind mehr Knoten 101 von dem Rest des Netzwerks isoliert (d.h. ohne irgendeine Kante) und kann nicht in Cluster-Gruppen 144 gruppiert werden. Es sei angemerkt, dass sogar mit einer Ähnlichkeitsschwelle 160 von Null der Bruchteil der erkannten Ereignisse 121 kleiner als 100% ist. Unter der Voraussetzung, dass eine Cluster-Gruppe 144 mindestens zwei Knoten 101 umfasst, sind Ereignisse von isolierten Knoten in dem Netzwerk nicht enthalten.
  • In einigen Beispielen umfassen die Leistungsmetriken zwei Hauptmetriken, z.B., Konsolidierung 123 und Unterscheidung 125, um die Qualität des Systems zu beurteilen. In einigen Beispielen sind die Konsolidierung 123 und die Unterscheidung 125 in einer Art und Weise ausgestaltet, dass sie nicht ein Detektieren von mehr Ereignissen 112 als der Auswertungsdatensatzstrom 105 noch das Detektieren von mehr Trending-Entitäten 132b für ein Ereignis 112 bestrafen. Die Konsolidierung 123 und die Unterscheidung 125 können Leistungsmetriken sein, die ein Niveau von Wirksamkeit bei zusammenführenden Entitäten messen, die ein einziges Ereignis 112 darstellen und jene von anderen Ereignisse 112 jeweils trennen.
  • Zwei Trending-Entitäten 132b werden als verwandt markiert, falls sie Teil eines einzelnen Ereignisses 112 im Ground-Truth sind und beide von ihnen werden als relevant markiert. Zwei Trending-Entitäten 132b werden als nicht verwandt bezeichnet, wenn sie ein Teil eines einzigen Ereignisses 112 im Ground-Truth sind und genau eine von ihnen als irrelevant markiert ist. In einigen Beispielen betrachten die hier erläuterten Techniken explizit jene markierten Paare, weil die meisten der zu unterschiedlichen Ereignissen 112 gehörenden Entitätspaaren ohne Weiteres zu unterscheiden sind.
  • Konsolidierung 123 kann wie folgt definiert sein: C = t t a t / t t A t
    Figure DE202020005789U1_0005
  • Unterscheidung 125 kann wie folgt definiert sein: D = t t b t / t t B t
    Figure DE202020005789U1_0006
  • Die folgende Parameter umfassen t: Zeitstempel, T : Satz aller Zeitstempel in der Systemausgabe, At: Anzahl von verwandten Entitätspaaren, die Teil der Systemausgabe bei Zeitstempel t sind, at : Anzahl von verwandten Entitätspaaren, die einen gemeinsamen Cluster in der Systemausgabe bei Zeitstempel t gemeinsam nutzen, Bt : Anzahl von nicht verwandten Entitätspaaren, die Teil der Systemausgabe bei Zeitstempel t sind, bt : Anzahl von nicht verwandten Entitätspaaren, die nicht in einem gemeinsamen Cluster in der Systemausgabe bei Zeitstempel t sind.
  • Intuitiv kann ein Algorithmus betrachtet werden, alle Entitäten in einer einzigen Cluster-Gruppe 144 zu platzieren, als 100% Konsolidierung 123 jedoch mit 0% Unterscheidung 125 zu erzielen. Andererseits wird das Erzeugen einer Cluster-Gruppe 144 für jede Entität 0% Konsolidierung 123 und 100% Unterscheidung 125 ergeben. In einigen Beispielen kann die Ausführung des Ereignisdetektors 120 im Offline-Analysemodus 122 definieren, welche Werte für die Parameter (z.B., die Ähnlichkeitsschwelle 160, die Auflösung 142, usw.) zu verwenden sind, um die Konsolidierung 123 und die Unterscheidung 125 zu optimieren.
  • In einigen Beispielen werden die Konsolidierung 123 und die Unterscheidung 125 in einer einzigen Metrik kombiniert, z.B., der Clustering-Punktzahl 127, die wie folgt definiert ist: CS = ( ( C 1 + D 1 ) / 2 ) 1 = 2 CD/ ( C + D )
    Figure DE202020005789U1_0007
  • In einigen Beispielen kann die Offline-Analyse diese Metriken wirksam einsetzen, um zu verstehen, wie die Ähnlichkeitsschwelle 160 die Netzwerkstruktur beeinflusst. 5B veranschaulicht einen Graph 520, der Punktzahlen (z.B., die Clustering-Punktzahl 127, die Unterscheidung 125, die Konsolidierung 123) für zunehmende Werte der Ähnlichkeitsschwelle 160 anschaulich darstellt, wenn der Ereignisdetektor 120 ein verbundenes Komponentendetektierungsverfahren als den Clustering-Algorithmus 140 verwendet, gemäß einem Aspekt. Linie 501 stellt die Unterscheidung 125 anschaulich dar, Linie 503 stellt die Clustering-Punktzahl 127 anschaulich dar und Linie 505 stellt die Konsolidierung 123 anschaulich dar. In 5B ist, wenn die Ähnlichkeitsschwelle 160 gleich Null ist, die Konsolidierung c = 1 und die Unterscheidung d = 0, da alle Knoten 101 verbunden sind (d.h., ein vollständiger Ähnlichkeitsgraph 146). Mit der Zunahme der Ähnlichkeitsschwelle 160 werden mehr Kanten 103 von dem Ähnlichkeitsgraph 146 entfernt, daher nimmt die Unterscheidung 125 von 0 bis 1 zu.
  • In einigen Beispielen betrifft, wenn die Ähnlichkeitsschwelle 160 kleiner als ein bestimmter Wert ist (z.B., S < 0,4), die Zunahme der Ähnlichkeitsschwelle 160 eine niedrigere Konsolidierung 123, da mehr Knoten 101 getrennt sind. Wenn die Ähnlichkeitsschwelle 160 jedoch größer als ein bestimmter Wert ist (z.B., S > 0,4), werden die meisten Kanten 103 entfernt, wodurch viele Knoten 101 isoliert werden und nicht in der endgültigen Ausgabe enthalten sind. Die verbleibenden Knoten 101 werden mit Starkkanten 103 verbunden und eine relativ hohe Konsolidierung 123 kann als ein Ergebnis erzielt werden. Angesichts dessen neigen die Größen der Cluster-Gruppen 144 und der Bruchteil der erkannten Ereignisse 121 dazu, kleiner zu sein.
  • Gemäß einigen Beispielen kann, anstatt sich auf verbundenen Komponenten wie den Clustering-Algorithmus 140 zu stützen, der Clustering-Algorithmus 140 jedoch einen Louvain-Community-Detektierungsalgorithmus umfassen, um eine erhöhte Clustering-Leistung für die Ähnlichkeitsschwelle 160 zu erzielen (z.B., S < 0,4). 5C veranschaulicht einen Graph 530, welcher die Clustering-Punktzahl 127 für zunehmende Werte der Ähnlichkeitsschwelle 160 mit Bezug auf den verbundenen Komponentenalgorithmus, den Louvain-Algorithmus und den Bruchteil der erkannten Ereignisse 121 anschaulich darstellt, gemäß einem Aspekt. Linie 507 stellt den Louvain-Algorithmus anschaulich dar, Linie 509 stellt der Bruchteil der erkannten Ereignisse 121 anschaulich dar und Linie 511 stellt den verbundenen Komponentenalgorithmus anschaulich dar. In einigen Beispielen erreicht, wenn die Ähnlichkeitsschwelle 160 kleiner als ein bestimmter Wert ist (z.B., S < 0,2), der Louvain-Algorithmus eine bessere Leistung, weil er Komponenten erfolgreich in unterschiedliche Cluster-Gruppen 144 teilt. Wenn die Ähnlichkeitsschwelle 160 über einem bestimmten Wert ist (z.B., S > 0,2), erzielt der Louvain-Algorithmus die gleichen (oder ähnliche) Ergebnisse wie der verbundene Komponentenalgorithmus, weil die resultierenden Komponenten zu klein sind, um aufgeteilt zu werden.
  • 5D stellt einen Graph 540 anschaulich dar, der Punktzahlen (z.B., die Clustering-Punktzahl 127, die Unterscheidung 125, die Konsolidierung 123) für zunehmende Werte der Auflösung 142 anschaulich darstellt, wenn der Ereignisdetektor 120 den Louvain-Algorithmus als den Clustering-Algorithmus 140 verwendet, gemäß einem Aspekt. Die Linie 513 stellt die Konsolidierung 123 anschaulich dar, die Linie 515 stellt die Clustering-Punktzahl 127 anschaulich dar und die Linie 517 stellt die Unterscheidung 125 anschaulich dar. Wenn die Ähnlichkeitsschwelle 160 gleich S = 0,1 in einigen Beispielen ist, kann die Auflösung 142, die gleich Eins ist, zu einer optimalen Clustering-Punktzahl führen.
  • In einigen Beispielen umfassen die Leistungsmetriken eine Metrik, die als der Bruchteil des zusammengeführten Ereignisses 129 bezeichnet wird. Beispielsweise werden zusätzlich zum Prüfen der Cluster-Qualität und der Abdeckung die Cluster-Ketten 114 bewertet. Im Einzelnen wird der Bruchteil von Cluster-Ketten 114 geprüft, die Trending-Entitäten 132b von unterschiedlichen Ereignissen 112 zusammenführen. In einigen Beispielen kann der Bruchteil des zusammengeführten Ereignisses 129 nicht nur auf Clustering-Qualität sondern ebenfalls auf die Qualität der Cluster-Verlinkung mit der Zeit empfindlich sein. 5E veranschaulicht einen Graph 550, der den Bruchteil des zusammengeführten Ereignisses 129 für unterschiedliche Werte der Ähnlichkeitsschwelle 160 anschaulich darstellt. In 5E wird der Bruchteil des zusammengeführten Ereignisses 129 für zunehmende Werte der Ähnlichkeitsschwelle 160 verglichen. Linie 519 stellt den verbundenen Komponentenalgorithmus anschaulich dar und Linie 521 stellt den Louvain-Algorithmus anschaulich dar.
  • In einigen Beispielen umfassen die Leistungsmetriken eine Metrik, die als der Bruchteil des duplikaten Ereignisses 131 bezeichnet wird. In einigen Beispielen wird der Bruchteil des duplikaten Ereignisses 131 als der Bruchteil von Ereignissen in dem Auswertungsdatensatzstrom 105 definiert, die ihre Trending-Entitäten 132b in mehr als einer Cluster-Kette 114 identifiziert haben. 5F veranschaulicht einen Graph 560, der den Bruchteil des duplikaten Ereignisses 131 für unterschiedliche Werte der Ähnlichkeitsschwelle 160 anschaulich darstellt, gemäß einem Aspekt. Linie 523 stellt den verbundenen Komponentenalgorithmus anschaulich dar, und Linie 525 stellt den Louvain-Algorithmus anschaulich dar. In einigen Beispielen kann der Bruchteil des duplikaten Ereignisses 131 relativ hoch sein. In einigen Beispielen kann, wenn die Ähnlichkeitsschwelle 160 gleich 0,1 ist, dies zu etwa 35% von Ereignissen mit Duplikaten der Cluster-Kette 114 führen. In einigen Beispielen kann der hohe Wert auf der Tatsache beruhen, dass der Auswertungsdatensatzstrom 105 keine Sub-Ereignisse umfasst. Wie später in der Spezifikation erläutert, kann ein relativ großes Ereignis 112 jedoch mehrere Sub-Ereignisse aufweisen, und es kann in einigen Beispielen genauer sein, sie in unterschiedliche Cluster-Ketten 114 darzustellen.
  • Unter erneuter Bezugnahme auf 1A kann der Ereignisdetektor 120 in einem Online-Analysemodus 124 ausgeführt werden, um die Cluster-Ketten 114 in Echtzeit zu erzeugen. Beispielsweise kann, während die Nachrichtenplattform 104 aktiv Nachrichten zwischen den Benutzern ändert, der Ereignisdetektor 120 den Nachrichtenstrom 108 empfangen und die Cluster-Ketten 114 im Zeitverlauf erzeugen (und aktualisieren), um die Ereignisse 112 zu identifizieren, wenn sie sich entfalten. In einigen Beispielen wird der Ereignisdetektor 120 auf einer Java Virtual Machine (JVM) eingesetzt und stützt sich auf Speicherbereinigung (Garbage Collection; GC) für Speichermanagement. 6A bis 6C veranschaulichen verschiedene Profile der Leistung des Ereignisdetektors 120 im Online-Analysemodus 124. 6A veranschaulicht einen Graph 610, der die Menge an verarbeiteten Entitäten pro Sekunde gemäß einem Aspekt anschaulich darstellt.
  • 6B veranschaulicht einen Graph 620, der das CPU-Auslastungsprofil anschaulich darstellt, gemäß einem Aspekt. 6C veranschaulicht einen Graph 630, der ein Speichernutzungsprofil anschaulich darstellt, gemäß einem Aspekt. Die in 6A bis 6C anschaulich dargestellten Leistungsdaten sind über einen relativ lang anhaltenden Zeitbereich und können zeigen, dass der Ereignisdetektor 120 imstande ist, Millionen von Entitäten pro Minute zu skalieren und zu verarbeiten.
  • Mit Bezug auf 6B ist die CPU-Auslastung typischerweise niedrig (< 10%) und konsistent über einen normalen Verkehrstag. Auf ähnliche Weise ist in 6C die Speichernutzung relativ konsistent. Die Abnahme in der Speichernutzung nahe dem Start des Graphen 630 stellt eine Hauptsammlung anschaulich dar, was lediglich nur einmal alle 1-2 Tage aufgrund der Stabilität von langlebigen Objekten auftritt, und Nebensammlungen treten stetig alle 1-2 Minuten auf. In 6A ist das System imstande mit Bezug auf eine bestimmten Instanz in der Mitte Spitzen von bis zu 50K verarbeiteten Entitäten pro Sekunde (PSEC) zu handhaben. Während dieser Lastspitze, was eine Verdopplung von PSEC in einem kurzen Zeitraum darstellt, ist die entsprechende CPU-Zunahme und die Speicherauslastung, wie in den nachstehenden Figuren ersichtlich, relativ vernachlässigbar. Daher kann das System 100 eine stabile CPU- und Speichernutzung sogar aufweisen, wenn mit es mit abnormalen Lasten konfrontiert wird. 7 veranschaulicht einen Graph 710, der Lastabwurf anschaulich darstellt, gemäß einem Aspekt. In 7 stellt die Linie 701 Nachrichten dar, die pro Sekunde verarbeitet werden, und die Linie 703 stellt verworfene Nachrichten pro Sekunde dar. Es sei bemerkt, dass ein Lastabwurf vorübergehend ist (z.B., lediglich während einer gegebenen Minute stattfindet) und das Nachrichtensystem 100 danach Normalität wieder aufnimmt.
  • 8 veranschaulicht einen Graph 810, der beste Cluster-Ketten 114 für ein reales Ereignis anschaulich darstellt, gemäß einem Aspekt. Das in 8 anschaulich dargestellte Ereignis in 8 war die Golden Globe Awards Show, die am 6. Januar 2019 beginnend um 01:00 UTC (koordinierte Weltzeit) abgehalten wurde. Dieses Ereignis erzeugte einen großen Konversationsgrad auf der Nachrichtenplattform 104. Die nachstehende Beschreibung stellt ein Beispiel davon dar, wie der Ereignisdetektor 120 während dieses Ereignisses arbeitete und wie genau er reale Arbeitskonversationen reflektierte. Der zeitliche Aspekt des Ereignisses wird dadurch gezeigt, wie Entität-Cluster auftreten, sich entwickeln und verschwinden.
  • Tabelle 4 veranschaulicht die besten Cluster-Ketten 114 (und zugeordnete beste Entitäten) und die Abbildung der Cluster-Ketten 114 auf 8. Beispielsweise umfassen die Cluster-Ketten Kette 801 (Allgemeine Konversation), Kette 803 (Eröffnungsansprache des Gastgebers), Kette 805 (Green Book), Kette 807 (Christian Bale empfängt den Preis für den besten Schauspieler in einer Komödie oder einem Musical für „Vice“), Kette 809 (Allgemeine Konversation), Kette 811 (Christian Bale dankt Satan in seiner Dankesrede), Kette 813 (General Konversation), Kette 815 (Rami Malek empfängt den Preis für besten Schauspieler in einem Drama für „Bohemian Rhapsody“), Kette 817 (Glenn Close empfängt den Preis für beste Schauspielerin in einem Drama für „The Wife“) und Kette 819 (Green Book). Tabelle 4
    Titel Beste Entitäten
    801: Allgemeine Konversation Die 76. Verleihung der Golden Globe Awards 2019, #goldenglobes, Lady Gaga, Sandra Oh, Spider-Man: Into the Spider-Verse, Gaga
    803: Eröffnungsansprache der Gastgeber Andy Samberg, Black Panther, Sandra Oh, #blackpanther, Jim Carrey, Michael B. Jordan
    805: Green Book Green Book, Maheshala Ali, Regina King, #greenbook
    807: Christian Bale empfängt den Preis für den besten Schauspieler in einer Komödie oder einem Musical für „Vice“ Die 76. Verleihung der Golden Globe Awards 2019, #goldenglobes, Christian Bale, Sandra Oh, Lady Gaga, Darren Criss, Vice
    809: Allgemeine Konversation Die 76. Verleihung der Golden Globe Awards 2019, #goldenglobes, Lady Gaga, Jeff Bridges, Darren Criss
    811: Christian Bale dankt Satan in seiner Dankesrede Christian Bale, Die 76. Verleihung der Golden Globe Awards 2019, Vice, Mitch McConnell, Satan
    813: Allgemeine Konversation Die 76. Verleihung der Golden Globe Awards 2019, #goldenglobes, Sandra Oh, Alfonso Cuaron, Rami Malek, Roma, Olivia Colman
    815: Rami Malek empfängt den Preis für den besten Schauspieler in einem Drama „Bohemian Rhapsody“ Die 76. Verleihung der Golden Globe Awards 2019, #goldenglobes, Rami Malek, Bohemian Rhapsody, Lady Gaga, Sandra Oh
    817: Glenn Close empfängt den Preis für beste Schauspielerin in einem Drama für „The Wife“ Glenn Close, Taylor Swift, Lady Gaga, beste Schauspielerin, Glenn, Bradley Cooper
    819: Green Book Green Book, Mahershali Ali, Regina King, #greenbook
  • 8 stellt einen Überblick des Ereignisses anschaulich dar, das die zehn größten Cluster-Ketten umfasst (in Begriffen von Gesamtnachrichtenzählwert), die in irgendeiner Zeit zwischen dem Januar 6th und 7th einen Entitätsabgleich „*golden*globes*“ Muster enthalten, wobei „*“ irgendeine, möglicherweise leere Sequenz von Zeichen darstellt. In 8 ist die Ereignisstruktur außerhalb der Hauptzeremoniezeit stabil, d.h., vor 01:00 UTC und nach 04:30 UTC. Vor der Zeremonie werden alle verwandten Entitäten in einer einzigen großen Kette geclustered, da noch kein bestimmtes Thema auftauchte. Nach der Zeremonie fahren Benutzer fort, sich über die Themen zu unterhalten, die während der Zeremonie populär waren (z.B. Green Book, Glenn Close und Rami Malek). Der interessanteste Zeitraum ist jedoch während der Zeremonie selber: das System 100 ist imstande, sich entwickelnde Themen schnell zu erfassen und unterschiedliche Ketten für sie zu erzeugen.
  • Green Book war der am meisten gefeierte Spielfilm: er wurde für den besten Nebendarsteller, das beste Drehbuch und das beste Musical oder Komödie gefeiert. 9 stellt einen Graph 910 anschaulich dar, der die Green-Book-Cluster-Entwicklung und entsprechende Preispräsentationszeiten zeigt, gemäß einem Aspekt. In 9 entwickelt sich die Green Book Kette (ebenfalls als Kette 805 in 8 dargestellt) im zeitlichen Ablauf. Zuerst speichert die Green-Book-Kette Entitäten, die den Spielfilm und seinen leitenden Produzenten (executive producer) (Olivia Spencer) darstellt. Kurz danach empfängt Mahershala Ali seinen Preis als bester Schauspieler und die entsprechende Entität wird dem Cluster hinzugefügt. Auf ähnliche Weise wird danach die „beste Drehbuch“ Entität hinzugefügt. Wenn der Preis für das beste Musical oder die Komödie präsentiert wird, stellt das Cluster die vollständig entwickelte Konversation dar: verwandte Hashtags werden verwendet und Mitglieder der Filmcrew werden erwähnt. Bei 05:09 UTC tauchte eine neue Kette (dargestellt als Kette 819 in 8) aus der ursprünglichen Green Book Kette (Kette 805 in 8) auf. Anschließend absorbierte bei 05:12 UTC die neue Kette die Alte, während die neue Cluster-Kennung beibehalten wurde. Da diese Charts in Echtzeit erzeugt werden können, können sie zum Verfolgen von Ereignissen in der realen Welt verwendet werden, wenn sie sich entwickeln.
  • 10 veranschaulicht ein Ablaufdiagramm 1000, das beispielhafte Operationen der Ereignisdetektierung an sozialen Datenströmen anschaulich darstellt, gemäß einem Aspekt. Obwohl das Ablaufdiagramm 1000 mit Bezugnahme auf das Nachrichtensystem 100 von 1A bis 1E beschrieben ist, können die Operationen durch irgendwelche der hier erläuterten Ausführungsformen ausgeführt werden. Obwohl das Ablaufdiagramm 1000 von 10 die Operationen in sequenzieller Reihenfolge veranschaulicht, versteht es sich, dass dies lediglich ein Beispiel ist und dass zusätzliche oder alternative Operationen umfasst sein können. Ferner können Operationen von 10 und verwandte Operationen in einer anderen Reihenfolge als die gezeigte oder in einer parallel oder überlappenden Art und Weise ausgeführt werden.
  • Die Operation 1002 umfasst ein Empfangen eines Stroms von Nachrichten, die auf der Nachrichtenplattform 104 ausgetauscht wurden. Der Strom von Nachrichten kann Teil des Nachrichtenstroms 108 sein. Die Operation 1004 umfasst ein Detektieren einer ersten Cluster-Gruppe 144-1 von Trending-Entitäten 132b über einen ersten Zeitraum 196-1. Die erste Cluster-Gruppe 144-1 umfasst zwei oder mehr Trending-Entitäten 132b, die als einander ähnlich definiert sind. Die Operation 1006 umfasst ein Detektieren einer zweiten Cluster-Gruppe 144-2 von Trending-Entitäten 132b über einen zweiten Zeitraum 196-2. Die zweite Cluster-Gruppe 144-2 umfasst zwei oder mehr Trending-Entitäten 132b, die als einander ähnlich definiert sind. Die Operation 1008 umfasst das Erzeugen einer Cluster-Kette 114 durch Verlinken der zweiten Cluster-Gruppe 144-2 mit der ersten Cluster-Gruppe 144-1, wobei die Cluster-Kette 114 das erkannte Ereignis 112 über den ersten und zweiten Zeitraum 196-1, 196-2 darstellt. In einigen Beispielen sind die Cluster-Gruppen 144 basierend auf einer Anzahl von Trending-Entitäten verlinkt, die gemeinsam zwischen der ersten Cluster-Gruppe 144-1 und der zweiten Cluster-Gruppe 144-2 genutzt werden. Die Operation 1010 umfasst das Speichern des Ereignisses 112 als die Cluster-Kette 114 in einer Speichervorrichtung 110 auf der Nachrichtenplattform 104.
  • Obwohl die offenbarten erfinderischen Konzepte jene umfassen, die in den beigefügten Ansprüchen definiert sind, ist zu verstehen, dass die erfinderischen Konzepte ebenfalls gemäß den folgenden Ausführungsformen definiert werden können:
  • Die Ausführungsform 1 ist ein Verfahren zur Ereignisdetektierung auf sozialen Datenströmen, wobei das Verfahren ein Empfangen, durch eine Nachrichtenplattform, eines Stroms von Nachrichten, die auf einer Nachrichtenplattform ausgetauscht werden, und ein Detektieren, durch die Nachrichtenplattform, eines Ereignisses des Stroms von Nachrichten umfasst.
  • Die Ausführungsform 2 ist das Verfahren von Ausführungsform 1, wobei der Detektierungsschritt ein Detektieren einer ersten Cluster-Gruppe von Trending-Entitäten über einen ersten Zeitraum umfasst, wobei die erste Cluster-Gruppe mindestens zwei Trending-Entitäten umfasst, die als einander ähnlich identifiziert sind.
  • Die Ausführungsform 3 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 2, wobei der Detektierungsschritt ein Detektieren einer zweiten Cluster-Gruppe von Trending-Entitäten über einen zweiten Zeitraum umfasst, wobei die zweite Cluster-Gruppe mindestens zwei Trending-Entitäten umfasst, die als einander ähnlich identifiziert sind.
  • Die Ausführungsform 4 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 3, wobei der Detektierungsschritt ein Erzeugen einer Cluster-Kette durch Verlinken der zweiten Cluster-Gruppe mit der ersten Cluster-Gruppe umfasst, wobei die Cluster-Kette das erkannten Ereignis über den ersten und zweiten Zeitraum darstellt.
  • Die Ausführungsform 5 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 4, das ferner ein Speichern, durch die Nachrichtenplattform, des Ereignisses als die Cluster-Kette in einer Speichervorrichtung auf der Nachrichtenplattform umfasst.
  • Die Ausführungsform 6 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 5, das ferner ein Übertragen, durch die Nachrichtenplattform, von digitalen Daten an eine Client-Anwendung umfasst, um Informationen über das Ereignis in einer Benutzerschnittstelle der Client-Anwendung zu rendern, wobei die Informationen über das Ereignis Informationen der Cluster-Kette umfassen.
  • Die Ausführungsform 7 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 6, wobei die Informationen über das Ereignis eine erste Trending-Entität von der ersten Cluster-Gruppe und eine zweite Trending-Entität von der zweiten Cluster-Gruppe identifizieren, wobei die zweite Trending-Entität anders als die erste Trending-Entität ist.
  • Die Ausführungsform 8 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 7, das ferner ein Einstufen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe umfasst.
  • Die Ausführungsform 9 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 8, wobei das Einstufen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe auf der Popularität von Trending-Entitäten basiert, die jeder jeweiligen Cluster-Gruppe zugeordnet sind, wobei die Cluster-Kette eine Liste von eingestuften Cluster-Gruppen umfasst.
  • Die Ausführungsform 10 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 9, das ferner ein Identifizieren mehrerer Trending-Entitäten über den ersten Zeitraum umfasst.
  • Die Ausführungsform 11 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 10, wobei die erste Cluster-Gruppe von den mehreren Trending-Entitäten über den ersten Zeitraum erkannt wird.
  • Die Ausführungsform 12 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 11, das ferner ein Identifizieren mehrerer Trending-Entitäten über den zweiten Zeitraum umfasst.
  • Die Ausführungsform 13 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 12, wobei die zweite Cluster-Gruppe aus der mehreren Trending-Entitäten über den zweiten Zeitraum erkannt wird.
  • Die Ausführungsform 14 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 13, das ferner ein Zuweisen einer Cluster-Kennung zu der ersten Cluster-Gruppe und ein Zuweisen der Cluster-Kennung von der ersten Cluster-Gruppe zu der zweiten Cluster-Gruppe als Antwort darauf umfasst, dass die zweite Cluster-Gruppe mit der ersten Cluster-Gruppe verlinkt ist.
  • Die Ausführungsform 15 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 14, wobei das Detektieren der ersten Cluster-Gruppe ein Erzeugen eines Ähnlichkeitsgraphs basierend auf Ähnlichkeitswerten umfasst, die mehreren Trending-Entitäten des ersten Zeitraums zugeordnet sind.
  • Die Ausführungsform 16 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 15, wobei der Ähnlichkeitsgraph Knoten umfasst, welche die mehreren Trending-Entitäten darstellen und Kanten mit den Ähnlichkeitswerten annotiert werden.
  • Die Ausführungsform 17 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 16, das ferner ein Partitionieren des Ähnlichkeitsgraphs gemäß einem Clustering-Algorithmus umfasst, um die erste Cluster-Gruppe zu detektieren.
  • Die Ausführungsform 18 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 17, das ferner ein Berechnen der Ähnlichkeitswerte basierend auf dem Frequenzzählwert und Kookkurrenzen unter der mehreren Trending-Entitäten über ein Zeitfenster umfasst.
  • Die Ausführungsform 19 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 18, das ferner ein Filtern des Ähnlichkeitsgraphs basierend auf einer Ähnlichkeitsschwelle umfasst, so dass Kanten mit Ähnlichkeitswerten kleiner als die Ähnlichkeitsschwelle aus dem Ähnlichkeitsgraph entfernt werden.
  • Die Ausführungsform 20 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 19, wobei der gefilterte Ähnlichkeitsgraph gemäß dem Clustering-Algorithmus partitioniert wird, um die erste Cluster-Gruppe zu detektieren.
  • Die Ausführungsform 21 ist das Verfahren gemäß einer der Ausführungsformen 1 bis 20, wobei die zweite Cluster-Gruppe mit der ersten Cluster-Gruppe basierend auf einem maximalen gewichteten bipartiten Abgleich verlinkt ist.
  • Die Ausführungsform 22 ist ein System, das einen oder mehrere Computer und eine oder mehrere Speicherungsvorrichtungen umfasst, die Anweisungen speichern, die betreibbar sind, wenn sie von dem einen oder mehreren Computer ausgeführt werden, um den einen oder mehrere Computer zu veranlassen, das Verfahren gemäß einer der Ausführungsformen 1 bis 21 durchzuführen.
  • Die Ausführungsform 23 ist ein Computerspeicherungsmedium, das mit einem Computerprogramm codiert ist, wobei das Programm Anweisungen umfasst, die betreibbar sind, wenn sie von der Datenverarbeitungseinrichtung ausgeführt werden, um die Datenverarbeitungseinrichtung zu veranlassen, das Verfahren gemäß einer der Ausführungsformen 1 bis 21 durchzuführen.
  • Die Ausführungsform 24 ist ein Nachrichtensystem zum Detektieren von Echtzeitereignissen, wobei das Nachrichtensystem eine Nachrichtenplattform umfasst, die konfiguriert ist, um über ein Netzwerk Nachrichten mit Rechenvorrichtungen auszutauschen, und eine Client-Anwendung, die konfiguriert ist, um mit der Nachrichtenplattform zu kommunizieren, um Nachrichten zu senden und zu empfangen, wobei die Nachrichtenplattform konfiguriert ist, um eine erste Cluster-Gruppe von Trending-Entitäten über einen ersten Zeitraum zu detektieren, wobei die erste Cluster-Gruppe mindestens zwei Trending-Entitäten umfasst, die als einander ähnlich identifiziert sind.
  • Die Ausführungsform 25 ist das Nachrichtensystem von Ausführungsform 24, wobei die Nachrichtenplattform konfiguriert ist, um eine zweite Cluster-Gruppe von Trending-Entitäten über einen zweiten Zeitraum zu detektieren, wobei die zweite Cluster-Gruppe mindestens zwei Trending-Entitäten umfasst, die als einander ähnlich identifiziert sind.
  • Die Ausführungsform 26 ist das Nachrichtensystem gemäß einer der Ausführungsformen 24 bis 25, wobei die Nachrichtenplattform mit einer Cluster-Kette durch Verlinken der zweiten Cluster-Gruppe mit der ersten Cluster-Gruppe basierend auf einer Anzahl von Trending-Entitäten konfiguriert ist, die zwischen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe gemeinsam genutzt werden.
  • Die Ausführungsform 27 ist das Nachrichtensystem gemäß einer der Ausführungsformen 24 bis 26, wobei die Cluster-Kette das erfasste Ereignis über den ersten und zweiten Zeitraum darstellt.
  • Die Ausführungsform 28 ist das Nachrichtensystem gemäß einer der Ausführungsformen 24 bis 27, wobei die Nachrichtenplattform konfiguriert ist, um ein Ereignis als die Cluster-Kette in einer Speichervorrichtung auf der Nachrichtenplattform zu speichern.
  • Die Ausführungsform 29 ist das Nachrichtensystem gemäß einer der Ausführungsformen 24 bis 28, wobei die Cluster-Kette zum zukünftigen Verlinken von Clustern abrufbar ist.
  • Die Ausführungsform 30 ist das Nachrichtensystem gemäß einer der Ausführungsformen 24 bis 29, wobei die Nachrichtenplattform konfiguriert ist, um digitale Daten an die Client-Anwendung zu übertragen, Informationen über das Ereignis in einer Benutzerschnittstelle der Client-Anwendung zu rendern, wobei die Informationen über das Ereignis Informationen von der Cluster-Kette umfassen, wobei die Informationen von der Cluster-Kette in einem Trends-Abschnitt, einer Zeitachse oder einem Teil von Suchergebnissen gerendert werden, die an die Client-Anwendung zurückgegeben werden.
  • Die Ausführungsform 31 ist das Nachrichtensystem gemäß einer der Ausführungsformen 24 bis 30, wobei die Nachrichtenplattform konfiguriert ist, um die erste Cluster-Gruppe und die zweite Cluster-Gruppe basierend auf einer aggregierten Popularitätsmetrik einzustufen, die jeder Cluster-Gruppe zugeordnet ist.
  • Die Ausführungsform 32 ist das Nachrichtensystem gemäß einer der Ausführungsformen 24 bis 31, wobei die Nachrichtenplattform konfiguriert ist, um eine Liste von Trending-Entitäten über den ersten Zeitraum von einem Trend-Detektordienst zu erhalten, um Entitäten aus einem Strom von Nachrichten zu extrahieren, die auf der Nachrichtenplattform ausgetauscht werden.
  • Die Ausführungsform 33 ist das Nachrichtensystem gemäß einer der Ausführungsformen 24 bis 32, wobei die Nachrichtenplattform konfiguriert ist, um die extrahierten Entitäten unter Verwendung der Liste von Trending-Entitäten zu filtern, um mehrere Trending-Entitäten über den ersten Zeitraum zu erhalten, wobei die erste Cluster-Gruppe unter Verwendung der mehreren Trending-Entitäten über den ersten Zeitraum erkannt wird.
  • Die Ausführungsform 34 ist das Nachrichtensystem gemäß einer der Ausführungsformen 24 bis 33, wobei die Nachrichtenplattform konfiguriert ist, um eine gleiche Cluster-Kennung den Cluster-Gruppen einer einzelnen Cluster-Kette zuzuweisen.
  • Die Ausführungsform 35 ist das Nachrichtensystem gemäß einer der Ausführungsformen 24 bis 34, wobei die Nachrichtenplattform konfiguriert ist, um Ähnlichkeitswerte basierend auf dem Frequenzzählwert und Kookkurrenzen unter Trending-Entitäten über ein Zeitfenster zu berechnen.
  • Die Ausführungsform 36 ist das Nachrichtensystem gemäß einer der Ausführungsformen 24 bis 35, wobei die Nachrichtenplattform konfiguriert ist, um einen Ähnlichkeitsgraph basierend auf den Ähnlichkeitswerten zu erzeugen.
  • Die Ausführungsform 37 ist das Nachrichtensystem gemäß einer der Ausführungsformen 24 bis 36, wobei der Ähnlichkeitsgraph Knoten, welche die Trending-Entitäten darstellen, und Kanten, die mit den Ähnlichkeitswerten annotiert sind, umfasst.
  • Die Ausführungsform 38 ist ein Verfahren, das Operationen des Nachrichtensystems umfasst, gemäß einer der Ausführungsformen 24 bis 37.
  • Die Ausführungsform 39 ist ein Computerspeicherungsmedium, das mit einem Computerprogramm codiert ist, wobei das Programm Anweisungen umfasst, die betreibbar sind, wenn sie von der Datenverarbeitungseinrichtung ausgeführt werden, um die Datenverarbeitungseinrichtung zu veranlassen, die Operationen des Nachrichtensystems gemäß einer der Ausführungsformen 24 bis 37 durchzuführen.
  • Die Ausführungsform 40 ist ein nichttransitorisches computerlesbares Medium, das ausführbare Anweisungen speichert, die, wenn durch mindestens einen Prozessor ausgeführt, konfiguriert sind, um den mindestens einen Prozessor zu veranlassen, einen Strom von Nachrichten zu empfangen, die auf einer Nachrichtenplattform ausgetauscht wurden, und ein Ereignis des Stroms von Nachrichten zu detektieren.
  • Die Ausführungsform 41 ist das nichttransitorische computerlesbares Medium von Ausführungsform 40, das ferner ein Identifizieren mehrerer Trending-Entitäten des Stroms von Nachrichten über einen ersten Zeitraum umfasst.
  • Die Ausführungsform 42 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 41, das ferner ein Detektieren einer ersten Cluster-Gruppe der mehreren Trending-Entitäten über den ersten Zeitraum umfasst.
  • Die Ausführungsform 43 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 42, das ferner ein Identifizieren mehrerer Trending-Entitäten des Stroms von Nachrichten über einen zweiten Zeitraum umfasst.
  • Die Ausführungsform 44 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 43, das ferner ein Detektieren einer zweiten Cluster-Gruppe der mehreren Trending-Entitäten über den zweiten Zeitraum umfasst.
  • Die Ausführungsform 45 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 44, das ferner ein Erzeugen einer Cluster-Kette durch Verlinken der zweiten Cluster-Gruppe mit der ersten Cluster-Gruppe umfasst.
  • Die Ausführungsform 46 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 45, wobei die Cluster-Kette das erfasste Ereignis über den ersten und zweiten Zeitraum darstellt.
  • Die Ausführungsform 47 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 46, die ferner ein Übertragen digitaler Daten an eine Client-Anwendung umfasst, um Informationen über das Ereignis in einer Benutzerschnittstelle der Client-Anwendung zu rendern.
  • Die Ausführungsform 48 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 47, wobei die Informationen über das Ereignis Informationen der Cluster-Kette speichern und die Informationen der Cluster-Kette eine erste Trending-Entität aus der ersten Cluster-Gruppe und eine zweiten Trending-Entität aus der zweiten Cluster-Gruppe identifizieren.
  • Die Ausführungsform 49 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 48, das ferner ein Einstufen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe basierend auf einer jeder jeweiligen Cluster-Gruppe zugeordneten Popularitätsmetrik umfasst.
  • Die Ausführungsform 50 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 49, das ferner ein Extrahieren von Entitäten des Stroms von Nachrichten umfasst, wobei die Entitäten mindestens eine von benannten Entitäten oder Hashtags umfasst.
  • Die Ausführungsform 51 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 50, das ferner ein Erhalten einer Liste von Trending-Entitäten umfasst, die von einem Trend-Detektordienst über eine Server-Kommunikationsschnittstelle hergeleitet werden.
  • Die Ausführungsform 52 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 51, das ferner ein Identifizieren der mehreren Trending-Entitäten über den ersten Zeitraum der extrahierten Entitäten basierend auf der Liste von Trending-Entitäten umfasst, so dass Nicht-Trending-Entitäten aus den extrahierten Entitäten gefiltert werden.
  • Die Ausführungsform 53 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 52, das ferner ein Zuweisen einer Cluster-Kennung zu der ersten Cluster-Gruppe und ein Zuweisen der Cluster-Kennung von der ersten Cluster-Gruppe zu der zweiten Cluster-Gruppe als Antwort darauf umfasst, dass die zweiten Cluster-Gruppe mit der ersten Cluster-Gruppe verlinkt ist.
  • Die Ausführungsform 54 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 53, das ferner ein Berechnen von Ähnlichkeitswerten basierend auf dem Frequenzzählwert und Kookkurrenzen unter der mehreren Trending-Entitäten über ein Zeitfenster umfasst.
  • Die Ausführungsform 55 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 54, wobei jeder Ähnlichkeitswert ein Niveau von Ähnlichkeit zwischen zwei Trending-Entitäten angibt.
  • Die Ausführungsform 56 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 55, das ferner ein Erzeugen eines Ähnlichkeitsgraphs basierend auf den Ähnlichkeitswerten umfasst.
  • Die Ausführungsform 57 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 56, wobei der Ähnlichkeitsgraph Knoten umfasst, welche die mehreren Trending-Entitäten umfassen, und Kanten, die mit den Ähnlichkeitswerten annotiert sind.
  • Die Ausführungsform 58 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 57, das ferner ein Filtern des Ähnlichkeitsgraphen basierend auf einem Ähnlichkeitsschwellenwert umfasst, so dass Kanten mit Ähnlichkeitswerten kleiner als die Ähnlichkeitsschwelle von dem Ähnlichkeitsgraph entfernt werden.
  • Die Ausführungsform 59 ist das nichttransitorische computerlesbares Medium gemäß einer der Ausführungsformen 40 bis 58, das ferner ein Partitionieren der gefilterten Ähnlichkeitsgraph gemäß einem Clustering-Algorithmus umfasst, um die erste Cluster-Gruppe zu detektieren.
  • Die Ausführungsform 60 ist das nichttransitorische computerlesbare Medium gemäß einer der Ausführungsformen 40 bis 59, wobei der Clustering-Algorithmus einen Louvain-Algorithmus umfasst.
  • Die Ausführungsform 61 ist das nichttransitorische computerlesbare Medium gemäß einer der Ausführungsformen 40 bis 60, wobei die mehreren Trending-Entitäten über den ersten Zeitraum und den zweiten Zeitraum des Stroms von Nachrichten durch einen Burst-Detektor identifiziert werden, wobei die erste und zweite Cluster-Gruppe erkannt werden und die Cluster-Kette durch einen Cluster-Kettendetektor erzeugt wird, wobei ferner die Computerressourcen des Burst-Detektors eingestellt werden.
  • Die Ausführungsform 62 ist das nichttransitorische computerlesbare Medium gemäß einer der Ausführungsformen 40 bis 61, das ferner die Computerressourcen des Cluster-Kettendetektors unabhängig von der Einstellung der Computerressourcen des Burst-Detektors einstellt.
  • Die Ausführungsform 63 ist das nichttransitorische computerlesbare Medium gemäß einer der Ausführungsformen 40 bis 62, wobei eine oder mehrere Operationen des Burst-Detektor parallel mit einer oder mehreren Operationen des Cluster-Kettendetektors durchgeführt werden.
  • Die Ausführungsform 64 ist ein System, das ein oder mehrere Computer und ein oder mehrere Speicherungsvorrichtungen umfasst, die Anweisungen speichern, die um betreibbar sind, wenn sie von dem einen oder mehreren Computer ausgeführt werden, um den einen oder mehrere Computer zu veranlassen, die Operationen des nichttransitorischen computerlesbaren Mediums von Ausführungsformen 40 bis 63 durchzuführen.
  • Die Ausführungsform 65 ist ein Verfahren mit Schritten der Operationen des nichttransitorischen computerlesbaren Mediums von Ausführungsformen 40 bis 63.
  • Die Ausführungsform 66 ist ein Nachrichtensystem zum Detektieren von Echtzeit-Ereignissen auf einem sozialen Medienstrom, wobei das Nachrichtensystem eine Nachrichtenplattform umfasst, die konfiguriert ist, um über ein Netzwerk Nachrichten mit Rechenvorrichtungen auszutauschen, wobei die Nachrichtenplattform einen Ereignisdetektor umfasst, der konfiguriert ist, um in einem Offline-Modus und einem Online-Modus ausgeführt zu werden.
  • Die Ausführungsform 67 ist das Nachrichtensystem von Ausführungsform 66, wobei der Ereignisdetektor im Offline-Modus konfiguriert ist, um einen Ereignis-Detektierungsalgorithmus in einem Auswertungsdatensatzstrom auszuführen, um eine oder mehrere erste Cluster-Ketten für variierende Werte eines Steuerparameters zu erzeugen, um eine Leistungsmetrik hinsichtlich der Ausführung der Ereignis-Detektierungsalgorithmus für die variierenden Werte der Steuerparameter zu berechnen, wobei ein Wert des Steuerparameters basierend auf der Leistungsmetrik ausgewählt wird.
  • Die Ausführungsform 68 ist das Nachrichtensystem gemäß einer der Ausführungsformen 66 bis 67, wobei der Ereignisdetektor im Online-Modus konfiguriert ist, um einen Nachrichtenstrom für Nachrichten zu empfangen, die auf der Nachrichtenplattform in Echtzeit ausgetauscht wurden, und den Ereignis-Detektierungsalgorithmus auf dem Nachrichtenstrom gemäß dem ausgewählten Wert des Steuerparameters auszuführen, um eine oder mehrere zweite Cluster-Ketten zu erzeugen.
  • Die Ausführungsform 69 ist das Nachrichtensystem gemäß einer der Ausführungsformen 66 bis 68, wobei die Leistungsmetrik mindestens eine von Unterscheidung oder Konsolidierung umfasst und der Steuerparameter eine Ähnlichkeitsschwelle umfasst.
  • Die Ausführungsform 70 ist das Nachrichtensystem gemäß einer der Ausführungsformen 66 bis 69, wobei die Leistungsmetrik mindestens eine von Unterscheidung oder Konsolidierung umfasst und der Steuerparameter eine Auflösung eines Clustering-Algorithmus umfasst.
  • Die Ausführungsform 71 ist ein Verfahren, das Operationen des Nachrichtensystems gemäß einer der Ausführungsformen 66 bis 70 umfasst.
  • Die Ausführungsform 72 ist ein Computerspeicherungsmedium, das mit einem Computerprogramm codiert ist, wobei das Programm Anweisungen umfasst, die betreibbar sind, wenn sie von einer Datenverarbeitungseinrichtung ausgeführt werden, um die Datenverarbeitungseinrichtung zu veranlassen, die Operationen des Nachrichtensystems gemäß einer der Ausführungsformen 66 bis 70 durchzuführen.
  • Die Ausführungsform 73 ist ein Verfahren zur Ereignisdetektierung auf sozialen Datenströmen, wobei das Verfahren umfasst Empfangen, durch eine Nachrichtenplattform, eines Stroms von auf einer Nachrichtenplattform ausgetauschten Nachrichten; Detektieren, durch die Nachrichtenplattform, eines Ereignisses aus dem Strom von Nachrichten, umfassend: Detektieren einer ersten Cluster-Gruppe von Trending-Entitäten über einen ersten Zeitraum, wobei die erste Cluster-Gruppe mindestens zwei Trending-Entitäten umfasst, die als einander ähnlich identifiziert sind; Detektieren einer zweiten Cluster-Gruppe von Trending-Entitäten über einen zweiten Zeitraum, wobei die zweite Cluster-Gruppe mindestens zwei Trending-Entitäten umfasst, die als einander ähnlich identifiziert sind; und Erzeugen einer Cluster-Kette durch Verlinken der zweiten Cluster-Gruppe mit der ersten Cluster-Gruppe, wobei die Cluster-Kette das erfasste Ereignis über den ersten und zweiten Zeitraum darstellt; und Speichern, durch die Nachrichtenplattform, des Ereignisses als die Cluster-Kette in einer Speichervorrichtung auf der Nachrichtenplattform.
  • Die Ausführungsform 74 ist ein Verfahren gemäß Ausführungsform 73, ferner umfassend: Übertragen, durch die Nachrichtenplattform, digitaler Daten an eine Client-Anwendung, um Informationen über das Ereignis in einer Benutzerschnittstelle der Client-Anwendung zu rendern, wobei die Informationen über das Ereignis Informationen von der Cluster-Kette umfassen.
  • Die Ausführungsform 75 ist ein Verfahren gemäß Ausführungsform 74, wobei die Informationen über das Ereignis eine erste Trending-Entität aus der ersten Cluster-Gruppe und eine zweite Trending-Entität aus der zweiten Cluster-Gruppe identifizieren, wobei die zweite Trending-Entität anders als die erste Trending-Entität ist.
  • Die Ausführungsform 76 ist ein Verfahren gemäß Ausführungsform 73, ferner umfassend: Einstufen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe basierend auf der Popularität von Trending-Entitäten, die jeder jeweiligen Cluster-Gruppe zugeordnet sind, wobei die Cluster-Kette eine Liste von eingestuften Cluster-Gruppen umfasst.
  • Die Ausführungsform 77 ist ein Verfahren gemäß Ausführungsform 73, ferner umfassend: Identifizieren mehrerer Trending-Entitäten über den ersten Zeitraum, wobei die erste Cluster-Gruppe aus den mehreren Trending-Entitäten über den ersten Zeitraum erkannt wird; und Identifizieren mehrerer Trending-Entitäten über den zweiten Zeitraum, wobei die zweite Cluster-Gruppe aus den mehreren Trending-Entitäten über den zweiten Zeitraum erkannt wird.
  • Die Ausführungsform 78 ist ein Verfahren gemäß Ausführungsform 73, ferner umfassend: Zuweisen einer Cluster-Kennung zur ersten Cluster-Gruppe; und Zuweisen der Cluster-Kennung von der ersten Cluster-Gruppe zur zweiten Cluster-Gruppe als Antwort darauf, dass die zweite Cluster-Gruppe mit der ersten Cluster-Gruppe verlinkt ist.
  • Die Ausführungsform 79 ist ein Verfahren gemäß Ausführungsform 73, wobei das Detektieren der ersten Cluster-Gruppe umfasst: Erzeugen eines Ähnlichkeitsgraphs basierend auf Ähnlichkeitswerten, die mehreren Trending-Entitäten des ersten Zeitraums zugeordnet sind, wobei der Ähnlichkeitsgraph Knoten, welche die mehreren Trending-Entitäten darstellen, und Kanten, die mit den Ähnlichkeitswerten annotiert sind, umfasst; und Partitionieren des Ähnlichkeitsgraphs gemäß einem Clustering-Algorithmus, um die erste Cluster-Gruppe zu detektieren.
  • Die Ausführungsform 80 ist ein Verfahren gemäß Ausführungsform 79, ferner umfassend: Berechnen der Ähnlichkeitswerte basierend auf einem Frequenzzählwert und Kookkurrenzen unter den mehreren Trending-Entitäten über ein Zeitfenster; und Filtern des Ähnlichkeitsgraphs basierend auf einer Ähnlichkeitsschwelle, so dass Kanten mit Ähnlichkeitswerten kleiner als die Ähnlichkeitsschwelle aus dem Ähnlichkeitsgraph entfernt werden, wobei der gefilterte Ähnlichkeitsgraph gemäß dem Clustering-Algorithmus partitioniert ist, um die erste Cluster-Gruppe zu detektieren.
  • Die Ausführungsform 81 ist ein Verfahren gemäß Ausführungsform 73, wobei die zweite Cluster-Gruppe mit der ersten Cluster-Gruppe basierend auf einem maximalen gewichteten bipartiten Matching verlinkt ist.
  • Die Ausführungsform 82 ist Nachrichtensystem zum Detektieren eines Echtzeitereignisses, wobei das Nachrichtensystem umfasst: eine Nachrichtenplattform, die konfiguriert ist, um über ein Netzwerk Nachrichten mit Rechenvorrichtungen auszutauschen; und eine Client-Anwendung, die konfiguriert ist, um mit der Nachrichtenplattform zu kommunizieren, um Nachrichten zu senden und zu empfangen, wobei die Nachrichtenplattform konfiguriert ist, um: eine erste Cluster-Gruppe von Trending-Entitäten über einen ersten Zeitraum detektieren, wobei die erste Cluster-Gruppe mindestens zwei Trending-Entitäten umfasst, die als einander ähnlich identifiziert sind; eine zweite Cluster-Gruppe von Trending-Entitäten über einen zweiten Zeitraum zu detektieren, wobei die zweite Cluster-Gruppe mindestens zwei Trending-Entitäten umfasst, die als einander ähnlich identifiziert sind; eine Cluster-Kette durch Verlinken der zweiten Cluster-Gruppe mit der ersten Cluster-Gruppe basierend auf einer Anzahl von Trending-Entitäten zu erzeugen, die zwischen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe gemeinsam genutzt werden, wobei die Cluster-Kette das erfasste Ereignis über den ersten und zweiten Zeitraum darstellt; und ein Ereignis als die Cluster-Kette in einer Speichervorrichtung auf der Nachrichtenplattform zu speichern, wobei die Cluster-Kette für zukünftiges Verlinken von Clustern abrufbar ist.
  • Die Ausführungsform 83 ist ein Nachrichtensystem gemäß Ausführungsform 82, wobei die Nachrichtenplattform konfiguriert ist, um digitale Daten an die Client-Anwendung zu übertragen, um Informationen über das Ereignis in einer Benutzerschnittstelle der Client-Anwendung zu rendern, wobei die Informationen über das Ereignis Informationen aus der Cluster-Kette umfassen, wobei die Informationen von der Cluster-Kette in einem Trends-Abschnitt, einer Zeitachse oder Teil von Suchergebnissen gerendert werden, die an die Client-Anwendung zurückgegeben werden.
  • Die Ausführungsform 84 ist ein Nachrichtensystem gemäß Ausführungsform 82, wobei die Nachrichtenplattform konfiguriert ist, um die erste Cluster-Gruppe und die zweiten Cluster-Gruppe basierend auf einer aggregierten Popularitätsmetrik einzustufen, die jeder Cluster-Gruppe zugeordnet ist.
  • Die Ausführungsform 85 ist ein Nachrichtensystem gemäß Ausführungsform 82, wobei die Nachrichtenplattform konfiguriert ist, um: eine Liste von Trending-Entitäten über den ersten Zeitraum von einem Trend-Detektordienst zu erhalten; Entitäten aus einem Strom von Nachrichten zu extrahieren, die auf der Nachrichtenplattform ausgetauscht werden; und die extrahierten Entitäten unter Verwendung der Liste von Trending-Entitäten zu filtern, um mehrerer Trending-Entitäten über den ersten Zeitraum zu erhalten, wobei die erste Cluster-Gruppe unter Verwendung der mehreren Trending-Entitäten über den ersten Zeitraum erkannt wird.
  • Die Ausführungsform 86 ist ein Nachrichtensystem gemäß Ausführungsform 82, wobei die Nachrichtenplattform konfiguriert ist, um eine gleiche Cluster-Kennung Cluster-Gruppen einer einzelnen Cluster-Kette zuzuweisen.
  • Die Ausführungsform 87 ist ein Nachrichtensystem gemäß Ausführungsform 82, wobei die Nachrichtenplattform konfiguriert ist, um Ähnlichkeitswerte basierend auf Frequenzzählwert und Kookkurrenzen unter Trending-Entitäten über ein Zeitfenster zu berechnen und einen Ähnlichkeitsgraph basierend auf den Ähnlichkeitswerten zu erzeugen, wobei der Ähnlichkeitsgraph Knoten umfasst, welche die Trending-Entitäten und Kanten darstellen, die mit den Ähnlichkeitswerten annotiert werden.
  • Die Ausführungsform 88 ist ein nichttransitorisches computerlesbares Medium, das ausführbare Anweisungen speichert, die, wenn durch mindestens einen Prozessor ausgeführt, konfiguriert sind, um den mindestens einen Prozessor zu veranlassen: einen Strom von Nachrichten zu empfangen, der auf einer Nachrichtenplattform ausgetauscht wurde; ein Ereignis aus dem Strom von Nachrichten zu detektieren, umfassend: mehrere Trending-Entitäten des Stroms von Nachrichten über einen ersten Zeitraum zu identifizieren; eine erste Cluster-Gruppe der mehreren Trending-Entitäten über den ersten Zeitraum zu detektieren; mehrere Trending-Entitäten des Strom von Nachrichten über einen zweiten Zeitraum zu identifizieren; eine zweite Cluster-Gruppe aus den mehreren Trending-Entitäten über den zweiten Zeitraum zu detektieren; und eine Cluster-Kette durch Verlinken der zweiten Cluster-Gruppe mit der ersten Cluster-Gruppe zu erzeugen, wobei die Cluster-Kette das erfasste Ereignis über den ersten und zweiten Zeitraum darstellt; digitale Daten an eine Client-Anwendung zu übertragen, um Informationen über das Ereignis in einer Benutzerschnittstelle der Client-Anwendung zu rendern, wobei die Informationen über das Ereignis Informationen aus der Cluster-Kette umfassen, wobei die Informationen aus der Cluster-Kette eine erste Trending-Entität von der ersten Cluster-Gruppe und eine zweiten Trending-Entität von der zweiten Cluster-Gruppe identifizieren.
  • Die Ausführungsform 89 ist ein nichttransitorisches computerlesbares Medium gemäß Ausführungsform 88, ferner umfassend: die erste Cluster-Gruppe und die zweiten Cluster-Gruppe basierend auf einer Popularitätsmetrik einzustufen, die jeder jeweiligen Cluster-Gruppe zugeordnet ist.
  • Die Ausführungsform 90 ist ein nichttransitorisches computerlesbares Medium gemäß Ausführungsform 88, ferner umfassend: Extrahieren von Entitäten aus dem Strom von Nachrichten, wobei die Entitäten mindestens eine von benannten Entitäten oder Hashtags umfassen; Erhalten einer Liste von Trending-Entitäten, die von einem Trend-Detektordienst über eine Serverkommunikationsschnittstelle abgeleitet wurden; und Identifizieren der mehreren Trending-Entitäten über den ersten Zeitraum aus den extrahierten Entitäten basierend auf der Liste von Trending-Entitäten, so dass Nicht-Trending-Entitäten aus den extrahierten Entitäten ausgefiltert werden.
  • Die Ausführungsform 91 ist ein nichttransitorisches computerlesbares Medium gemäß Ausführungsform 88, ferner umfassend: Zuweisen einer Cluster-Kennung zur ersten Cluster-Gruppe; und Zuweisen der Cluster-Kennung von der ersten Cluster-Gruppe zur zweiten Cluster-Gruppe als Antwort darauf, dass die zweite Cluster-Gruppe mit der ersten Cluster-Gruppe verlinkt ist.
  • Die Ausführungsform 92 ist ein nichttransitorisches computerlesbares Medium gemäß Ausführungsform 88, ferner umfassend: Berechnen von Ähnlichkeitswerten basierend auf einem Frequenzzählwert und Kookkurrenzen unter den mehreren Trending-Entitäten über ein Zeitfenster, wobei jeder Ähnlichkeitswert ein Niveau von Ähnlichkeit zwischen zwei Trending-Entitäten angibt; Erzeugen eines Ähnlichkeitsgraphs basierend auf den Ähnlichkeitswerten, wobei der Ähnlichkeitsgraph Knoten umfasst, welche die mehreren Trending-Entitäten darstellen, und Kanten mit den Ähnlichkeitswerten annotiert werden; Filtern des Ähnlichkeitsgraphs basierend auf einem Ähnlichkeitsschwellenwert, so dass Kanten mit Ähnlichkeitswerten kleiner als die Ähnlichkeitsschwelle aus dem Ähnlichkeitsgraph entfernt werden; und Partitionieren des gefilterten Ähnlichkeitsgraphs gemäß einem Clustering-Algorithmus, um die erste Cluster-Gruppe zu detektieren, wobei der Clustering-Algorithmus einen Louvain-Algorithmus umfasst.
  • Die Ausführungsform 93 ist ein nichttransitorisches computerlesbares Medium gemäß Ausführungsform 88, wobei die mehreren Trending-Entitäten über den ersten Zeitraum und den zweiten Zeitraum aus dem Strom von Nachrichten durch einen Burst-Detektor identifiziert werden, wobei die erste und zweite Cluster-Gruppe erkannt werden und die Cluster-Kette durch einen Cluster-Kettendetektor erzeugt wird, ferner umfassend: Einstellen von Computerressourcen des Burst-Detektors; und Einstellen von Computerressourcen des Cluster-Kettendetektors unabhängig von der Einstellung der Computerressourcen des Burst-Detektors.
  • Die Ausführungsform 94 ist ein nichttransitorisches computerlesbares Medium gemäß Ausführungsform 93, wobei eine oder mehrere Operationen des Burst-Detektors parallel mit einer oder mehreren Operationen des Cluster-Kettendetektors durchgeführt werden.
  • Die Ausführungsform 95 ist ein Nachrichtensystem zum Detektieren von Echtzeitereignissen auf einem sozialen Medienstrom, wobei das Nachrichtensystem umfasst: eine Nachrichtenplattform, die konfiguriert ist, um über ein Netzwerk Nachrichten mit Rechenvorrichtungen auszutauschen, wobei die Nachrichtenplattform einen Ereignisdetektor umfasst, der konfiguriert ist, um in einem Offline-Modus und einem Online-Modus ausgeführt zu werden, wobei der Ereignisdetektor, im Offline-Modus, konfiguriert ist, um: einen Ereignis-Detektierungsalgorithmus auf einem Auswertungsdatensatzstrom auszuführen, um eine oder mehrere erste Cluster-Ketten für variierende Werte eines Steuerparameters zu erzeugen; eine Leistungsmetrik hinsichtlich der Ausführung des Ereignis-Detektierungsalgorithmus für die variierenden Werte der Steuerparameter zu berechnen, wobei ein Wert der Steuerparameter basierend auf der Leistungsmetrik ausgewählt wird, wobei der Ereignisdetektor, im Online-Modus, konfiguriert ist, um: einen Nachrichtenstrom für Nachrichten zu empfangen, die auf der Nachrichtenplattform in Echtzeit ausgetauscht wurden; und den Ereignis-Detektierungsalgorithmus auf dem Nachrichtenstrom gemäß dem ausgewählten Wert der Steuerparameter auszuführen, um eine oder mehrere zweite Cluster-Ketten zu erzeugen.
  • Die Ausführungsform 96 ist ein Nachrichtensystem gemäß Anspruch 95, wobei die Leistungsmetrik mindestens eines von Unterscheidung oder Konsolidierung umfasst, wobei der Steuerparameter eine Ähnlichkeitsschwelle umfasst.
  • Die Ausführungsform 97 ist ein Nachrichtensystem gemäß Ausführungsform 95, wobei die Leistungsmetrik mindestens eine von Unterscheidung oder Konsolidierung umfasst, wobei der Steuerparameter eine Auflösung eines Clustering-Algorithmus umfasst.
  • In der obigen Beschreibung werden zahlreiche Details dargelegt. Es wird jedoch einem durchschnittlichen Fachmann auf dem Gebiet mit dem Nutzen dieser Offenbarung jedoch offensichtlich sein, dass Implementierungen der Offenbarung ohne diese speziellen Details praktiziert werden können. In einigen Fällen werden bekannte Strukturen und Vorrichtungen in Blockdarstellungsform und nicht im Detail gezeigt, um ein Unverständlichmachen der Beschreibung zu vermeiden.
  • Einige Teile der ausführlichen Beschreibung werden in Form von Algorithmen und symbolischen Darstellungen von Operationen an Datenbits innerhalb eines Computerspeichers präsentiert. Diese algorithmischen Beschreibungen und Darstellungen sind die Mittel, die von Fachleuten auf dem Gebiet der Datenverarbeitung verwendet werden, um den Inhalt ihrer Arbeit anderen Fachleuten am wirksamsten zu vermitteln. Ein Algorithmus wird hier und allgemein als eine in sich konsistente Abfolge von Schritten verstanden, die zu einem gewünschten Ergebnis führen. Die Schritte sind diejenigen, die physikalische Manipulationen physikalischer Größen erfordern. Gewöhnlich, jedoch nicht notwendigerweise, nehmen diese Größen die Form von elektrischen oder magnetischen Signalen an, die gespeichert, übertragen, kombiniert, verglichen und auf andere Weise manipuliert werden können. Es hat sich manchmal, hauptsächlich aus Gründen des allgemeinen Sprachgebrauchs, als zweckmäßig erwiesen, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Begriffe, Zahlen oder dergleichen zu bezeichnen.
  • Es sollte jedoch bedacht werden, dass all diese und ähnliche Begriffe den eigentlichen physikalischen Größen zuzuordnen sind und lediglich praktische Etiketten sind, mit denen diese Größen versehen wurden. Sofern nicht ausdrücklich anderweitig angegeben, wie aus der obigen Erläuterung zu entnehmen, ist es selbstverständlich, dass in der gesamten Beschreibung Erläuterung, die Begriffe wie etwa „Identifizieren,“ „Bestimmen,“ „Berechnen,“ „Detektieren,“ „Übertragen,“ „Empfangen,“ „Erzeugen,“ „Speichern,“ „Einstufen,“ „Extrahieren,“ „Erhalten,“ „Zuweisen,“ „Partitionieren,“ „Rechnen,“ „Filtern,“ „Ändern,“ oder dergleichen verwenden, die Aktionen und Prozesse eines Computersystems oder einer ähnlichen elektronischen Rechenvorrichtung bezeichnen, welche(s) Daten, die innerhalb der Register und Speicher des Rechensystems als physikalische (z.B. Elektronische) Größen dargestellt sind, manipuliert und in andere Daten transformiert, die auf ähnliche Weise als physikalische Größen innerhalb der Speicher oder Register des Rechensystems oder anderer derartiger Vorrichtungen zur Speicherung, Übertragung oder Anzeige von Informationen dargestellt werden.
  • Zusätzlich erfordern die in den Figuren abgebildeten logischen Abläufe nicht die bestimmte gezeigte Reihenfolge oder sequenzielle Reihenfolge, um wünschenswerte Ergebnisse zu erzielen. Außerdem können andere Schritte vorgesehen oder Schritte aus den beschriebenen Abläufen beseitigt werden und andere Komponenten können zu den beschriebenen Systemen hinzugefügt oder aus diesen entfernt werden. Dementsprechend liegen andere Ausführungsformen in dem Umfang der folgenden Ansprüche.
  • Implementierungen der Offenbarung beziehen sich ebenfalls auf eine Vorrichtung zum Durchführen der Operationen. Die Vorrichtung kann speziell für die erforderlichen Zwecke konstruiert sein oder kann einen Allzweckcomputer beinhalten, der durch ein im Computer gespeichertes Computerprogramm selektiv aktiviert oder umkonfiguriert wird. Ein derartiges Computerprogramm kann in einem nicht transitorischen computerlesbaren Speichermedium gespeichert werden, wie beispielsweise, jedoch nicht beschränkt auf jede Art von Diskette, einschließlich Floppy Disks, optische Platten, CD-ROMs und magnetisch-optische Platten, Nur-Lese-Speicher (ROMs), Direktzugriffsspeicher (RAMs), EPROMs, EEPROMs, magnetische oder optische Karten, Flashspeicher, oder jeder Art von Medium, das zum Speichern von elektronischen Anweisungen geeignet ist.
  • Die Wörter „Beispiel“ oder „beispielhaft“ werden hier mit der Bedeutung als Beispiel, Fall oder Veranschaulichung dienend verwendet. Ein beliebiger Aspekt oder eine beliebige Gestaltung, der/die hier als „Beispiel“ oder „beispielhaft“ beschrieben wird, ist nicht zwangsweise als bevorzugt oder vorteilhaft gegenüber anderen Aspekten oder Gestaltungen auszulegen. Vielmehr soll die Verwendung der Wörter „Beispiel“ oder „beispielhaft“ Konzepte auf eine konkrete Weise darstellen. Gemäß Verwendung in dieser Anmeldung soll der Ausdruck „oder“ ein einschließendes „oder“ anstatt ein ausschließendes „oder“ bedeuten. Das heißt, dass „X beinhaltet A oder B“ jegliche der natürlichen einschließenden Permutationen bedeuten soll, sofern nichts anderes angegeben oder aus dem Zusammenhang deutlich wird. Das heißt, dass dann, wenn X A beinhaltet; X B beinhaltet; oder X sowohl A als auch B beinhaltet, „X beinhaltet A oder B“ unter beliebigen der vorhergehenden Fälle erfüllt ist. Außerdem sollten die Artikel „ein“ und „eine“ gemäß Verwendung in dieser Anmeldung und den beigefügten Ansprüchen im Allgemeinen mit der Bedeutung „ein oder mehrere“ aufgefasst werden, sofern nichts anderes angegeben wird oder ein Bezug auf eine Singularform aus dem Zusammenhang deutlich wird. Zudem soll eine Verwendung des Begriffs „eine Implementierung“ durchweg nicht dieselbe Implementierung bedeuten, außer sie wird als solche beschrieben. Außerdem sollen die Begriffe „erster/erste/erstes“, „zweiter/zweite/zweites“, „dritter/dritte/drittes“, „vierter/vierte/viertes“ usw. Gemäß vorliegender Verwendung als Kennzeichnungen zur Unterscheidung zwischen verschiedenen Elementen dienen und müssen nicht zwangsweise eine ordinale Bedeutung gemäß ihrer numerischen Bezeichnung aufweisen.
  • Die hier vorgestellten Algorithmen und Anzeigen beziehen sich nicht inhärent auf einen bestimmten Computer oder eine andere Vorrichtung. Verschiedene Allzwecksysteme können mit Programmen gemäß den Lehren hier verwendet werden, oder es kann sich als zweckmäßig erweisen, eine spezialisiertere Vorrichtung zu konstruieren, um die erforderlichen Verfahrensschritte durchzuführen. Die erforderliche Struktur für eine Vielzahl dieser Systeme ergibt sich aus der obenstehenden Beschreibung. Außerdem wird die vorliegende Offenbarung nicht unter Bezugnahme auf eine bestimmte Programmiersprache beschrieben. Es versteht sich, dass eine Vielzahl von Programmiersprachen verwendet werden können, um die Lehren der hier beschriebenen Offenbarung zu implementieren.
  • Die obige Beschreibung legt zahlreiche spezifische Einzelheiten dar, wie beispielsweise Beispiele spezifischer Systeme, Komponenten, Verfahren und so weiter, um ein gutes Verständnis mehrerer Implementierungen der vorliegenden Erfindung zu ermöglichen. Für den Fachmann ist jedoch offensichtlich, dass zumindest einige Implementierungen der vorliegenden Offenbarung ohne diese spezifischen Einzelheiten praktiziert werden können. In anderen Fällen werden bekannte Komponenten oder Verfahren nicht im Einzelnen beschrieben oder sind im Format eines einfachen Blockschaltbildes dargestellt, um die vorliegende Offenbarung nicht unnötig zu verschleiern. Somit sind die oben dargelegten spezifischen Einzelheiten lediglich beispielhaft. Bestimmte Implementierungen können von diesen beispielhaften Einzelheiten abweichen und dennoch als im Umfang der vorliegenden Offenbarung liegend betrachtet werden.
  • Es versteht sich, dass die obige Beschreibung veranschaulichend und nicht einschränkend sein soll. Viele andere Implementierungen werden für den Fachmann beim Lesen und Verstehen der obigen Beschreibung offensichtlich sein. Der Umfang der Offenbarung sollte daher unter Bezugnahme auf die beigefügten Ansprüche zusammen mit dem vollen Umfang der Äquivalente, auf die diese Ansprüche berechtigen, bestimmt werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62798388 [0002]

Claims (17)

  1. Vorrichtung, umfassend: einen oder mehrere Prozessoren; und eine oder mehrere Speicherungsvorrichtungen, die Anweisungen speichern, die, wenn durch den einen oder die mehreren Prozessoren ausgeführt, den einen oder die mehreren Prozessoren veranlassen, Operationen einer Nachrichtenplattform auszuführen, wobei die Operationen umfassen: Identifizieren mehrerer ersten Trending-Entitäten über einen ersten Zeitraum aus Nachrichten, die an die Nachrichtenplattform gepostet wurden; Identifizieren mehrerer zweiten Trending-Entitäten über einen zweiten Zeitraum aus den Nachrichten, die an die Nachrichtenplattform gepostet wurden; Detektieren einer ersten Cluster-Gruppe aus den mehreren ersten Trending-Entitäten, wobei die erste Cluster-Gruppe mindestens zwei Trending-Entitäten umfasst, die als einander ähnlich über den ersten Zeitraum identifiziert sind; Detektieren einer zweiten Cluster-Gruppe aus den mehreren zweiten Trending-Entitäten, wobei die zweite Cluster-Gruppe mindestens zwei Trending-Entitäten umfasst, die als einander ähnlich über den zweiten Zeitraum identifiziert sind; Bestimmen, dass die zweite Cluster-Gruppe mit der ersten Cluster-Gruppe verwandt ist; Erzeugen einer Cluster-Kette durch Erzeugen eines Links zwischen der zweiten Cluster-Gruppe und der ersten Cluster-Gruppe, wobei die Cluster-Kette ein Ereignis über den ersten und zweiten Zeitraum darstellt; und Speichern der Cluster-Kette in einer Speichervorrichtung.
  2. Vorrichtung gemäß Anspruch 1, wobei die Operationen umfassen: Übertragen von digitalen Daten an eine Client-Anwendung einer Benutzervorrichtung, um Informationen über das Ereignis zu rendern, wobei die Informationen über das Ereignis eine ersten Trending-Entität aus der ersten Cluster-Gruppe und eine zweite Trending-Entität aus der zweiten Cluster-Gruppe identifizieren.
  3. Vorrichtung gemäß Anspruch 1 oder Anspruch 2, wobei die Operationen umfassen: Zuweisen einer Cluster-Kennung an die erste Cluster-Gruppe; und Zuweisen der Cluster-Kennung der ersten Cluster-Gruppe an die zweite Cluster-Gruppe als Antwort darauf, dass die zweite Cluster-Gruppe mit der ersten Cluster-Gruppe verlinkt ist.
  4. Vorrichtung gemäß einem vorangehenden Anspruch, wobei die Operationen umfassen: Bestimmen, dass die zweite Cluster-Gruppe mit der ersten Cluster-Gruppe verwandt ist, basierend darauf, wie viele Trending-Entitäten zwischen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe gemeinsam genutzt werden.
  5. Vorrichtung gemäß einem vorangehenden Anspruch, wobei die Operationen umfassen: Berechnen von Ähnlichkeitswerten basierend auf einem Frequenzzählwert und Kookkurrenzen zwischen den mehreren ersten Trending-Entitäten über den ersten Zeitraum, wobei jeder Ähnlichkeitswert ein Grad an Ähnlichkeit zwischen zwei Trending-Entitäten angibt; Erzeugen eines Ähnlichkeitsgraphs basierend auf den Ähnlichkeitswerten, wobei der Ähnlichkeitsgraph Knoten umfasst, welche die mehreren ersten Trending-Entitäten darstellen, und Kanten, die mit den Ähnlichkeitswerten annotiert werden; Filtern des Ähnlichkeitsgraphs basierend auf einem Ähnlichkeitsschwellenwert, so dass Kanten mit Ähnlichkeitswerten kleiner als der Ähnlichkeitsschwellenwert aus dem Ähnlichkeitsgraph entfernt werden; und Partitionieren des gefilterten Ähnlichkeitsgraphs gemäß einem Clustering-Algorithmus, um die erste Cluster-Gruppe zu detektieren.
  6. Vorrichtung gemäß Anspruch 5, wobei die Operationen umfassen: Berechnen eines ersten Entitätsvektors und eines zweiten Entitätsvektors für ein Paar von Trending-Entitäten in der ersten Cluster-Gruppe, wobei jeweils der erste Entitätsvektor und der zweite Entitätsvektor eine Reihe von Werten umfasst, die den Frequenzzählwert und Kookkurrenzen einer jeweiligen Trending-Entität in den an die Nachrichtenplattform geposteten Nachrichten angeben; und Berechnen eines Ähnlichkeitswerts für das Paar von Trending-Entitäten durch Ausführen einer Cosinus-Ähnlichkeitsfunktion unter Verwendung des ersten Entitätsvektors und des zweiten Entitätsvektors.
  7. Vorrichtung gemäß Anspruch 6, wobei der Clustering-Algorithmus einen Louvain-Algorithmus umfasst.
  8. Vorrichtung gemäß einem der vorangehenden Ansprüche, wobei die zweite Cluster-Gruppe mit der ersten Cluster-Gruppe basierend auf einem maximalen gewichteten bipartiten Matching verlinkt ist.
  9. Vorrichtung gemäß einem der vorangehenden Ansprüche, wobei die Operationen umfassen: Berechnen eines Kantengewichts zwischen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe basierend darauf, wie viele Trending-Entitäten zwischen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe gemeinsam genutzt werden; und Erzeugen des Links zwischen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe als Antwort darauf, dass das Kantengewicht größer als ein Schwellenniveau ist.
  10. Vorrichtung gemäß einem der vorangehenden Ansprüche, wobei eine Trending-Entität eine Entität ist, die von Benutzern in den Nachrichten erwähnt werden, die an die Nachrichtenplattform mit einer höheren Rate als andere Entitäten gepostet wird.
  11. Vorrichtung gemäß einem der vorangehenden Ansprüche, wobei eine Entität eine benannte Entität, einen Hashtag oder einen Universal Serial Identifier (URI) umfasst.
  12. Vorrichtung gemäß einem der vorangehenden Ansprüche, wobei die Operationen umfassen: Detektieren unterschiedlicher Begriffe, die verwendet werden, um das Ereignis über Zeit durch periodisches Detektieren und Verlinken von Cluster-Gruppen im Laufe der Zeit zu beschreiben.
  13. Vorrichtung gemäß einem der vorangehenden Ansprüche, wobei die Operationen umfassen: Abrufen der Cluster-Kette der Speichervorrichtung; und Verlinken der zweiten Cluster-Gruppe mit einer dritten Cluster-Gruppe mit mindestens zwei Trending-Entitäten, die als einander ähnlich während eines dritten Zeitraums identifiziert sind.
  14. Vorrichtung gemäß einem vorangehenden Anspruch, wobei die Operationen umfassen: Empfangen einer Suchanfrage der Client-Anwendung; Identifizieren einer ersten Trending-Entität aus der ersten Cluster-Gruppe als zu einem Begriff der Suchanfrage passend; und Übertragen von Suchergebnisse an die Client-Anwendung, wobei die Suchergebnisse die ersten Trending-Entität und eine zweiten Trending-Entität aus der zweiten Cluster-Gruppe identifizieren.
  15. Vorrichtung gemäß einem vorangehenden Anspruch, wobei die Operationen umfassen: Erzeugen von Einstufungsinformationen durch Einstufen der ersten Cluster-Gruppe und der zweiten Cluster-Gruppe basierend auf einer Gesamtpopularitätsmetrik, die jeder jeweiligen Cluster-Gruppe zugeordnet ist; und Speichern der Einstufungsinformationen in der Speichervorrichtung.
  16. Vorrichtung gemäß Anspruch 15, wobei die Operationen umfassen: Berechnen einer Popularitätsmetrik für jede Entität einer jeweiligen Cluster-Gruppe basierend darauf, wie viele Male eine jeweilige Trending-Entität in den an die Nachrichtenplattform gesendeten Nachrichten erwähnt wird; und Aggregieren der Popularitätsmetriken für Trending-Entitäten einer jeweiligen Cluster-Gruppe, um die Gesamtpopularitätsmetrik zu berechnen.
  17. Vorrichtung gemäß einem der vorangehenden Ansprüche, wobei die Operationen umfassen: Identifizieren von Trending-Entitäten aus den Nachrichten, die an die Nachrichtenplattform gepostet werden, Extrahieren von Entitäten aus den Nachrichten, die an die Nachrichtenplattform gepostet werden; und Identifizieren der mehreren ersten Trending-Entitäten über den ersten Zeitraum aus den extrahierten Entitäten unter Verwendung der Trending-Entitäten.
DE202020005789.4U 2019-01-29 2020-01-29 Ereignisdetektierung in Echtzeit auf sozialen Datenströmen Active DE202020005789U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962798388P 2019-01-29 2019-01-29
US62/798,388 2019-01-29

Publications (1)

Publication Number Publication Date
DE202020005789U1 true DE202020005789U1 (de) 2022-06-27

Family

ID=69771056

Family Applications (2)

Application Number Title Priority Date Filing Date
DE202020005789.4U Active DE202020005789U1 (de) 2019-01-29 2020-01-29 Ereignisdetektierung in Echtzeit auf sozialen Datenströmen
DE202020005787.8U Active DE202020005787U1 (de) 2019-01-29 2020-01-29 Ereignisdetektierung in Echtzeit auf sozialen Datenströmen

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE202020005787.8U Active DE202020005787U1 (de) 2019-01-29 2020-01-29 Ereignisdetektierung in Echtzeit auf sozialen Datenströmen

Country Status (8)

Country Link
US (2) US11334636B2 (de)
EP (1) EP3918758A1 (de)
JP (1) JP2022519208A (de)
KR (1) KR20210118452A (de)
CN (1) CN113454954A (de)
BR (1) BR112021014089A2 (de)
DE (2) DE202020005789U1 (de)
WO (1) WO2020160186A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7331395B2 (ja) * 2019-03-20 2023-08-23 富士フイルムビジネスイノベーション株式会社 プロセス抽出装置およびプログラム
US11687826B2 (en) * 2019-08-29 2023-06-27 Accenture Global Solutions Limited Artificial intelligence (AI) based innovation data processing system
US11580101B2 (en) * 2020-03-10 2023-02-14 Korea Advanced Institute Of Science And Technology Method and apparatus for generating context category dataset
US11468883B2 (en) * 2020-04-24 2022-10-11 Snap Inc. Messaging system with trend analysis of content
US11436771B2 (en) * 2020-11-20 2022-09-06 International Business Machines Corporation Graph-based color description generation
CN113052005B (zh) * 2021-02-08 2024-02-02 湖南工业大学 一种用于家居服务的垃圾分拣方法和垃圾分拣装置
US11748453B2 (en) * 2021-02-17 2023-09-05 International Business Machines Corporation Converting unstructured computer text to domain-specific groups using graph datastructures
US11899682B2 (en) 2021-09-08 2024-02-13 Microsoft Technology Licensing, Llc Generating and presenting a searchable graph based on a graph query
CN114546268B (zh) * 2022-02-15 2024-04-19 淮北鹏顺信息科技有限公司 一种大数据场景下的数据信息存储系统及方法
WO2023184009A1 (en) * 2022-03-30 2023-10-05 Huawei Technologies Canada Co., Ltd. Systems and methods for cluster-based parallel split learning
KR102623120B1 (ko) * 2022-12-28 2024-01-10 대한민국 소셜 미디어 대상 재난 안전 관심 주제 탐지 시스템 및 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6437804B1 (en) * 1997-10-23 2002-08-20 Aprisma Management Technologies, Inc Method for automatic partitioning of node-weighted, edge-constrained graphs
US10762080B2 (en) * 2007-08-14 2020-09-01 John Nicholas and Kristin Gross Trust Temporal document sorter and method
CA2864127A1 (en) * 2012-02-15 2013-08-22 Bottlenose, Inc. Systems and methods for recommending advertisement placement based on in network and cross network online activity analysis
US9319372B2 (en) * 2012-04-13 2016-04-19 RTReporter BV Social feed trend visualization
GB2502539A (en) * 2012-05-30 2013-12-04 Ibm Meta-systems management tool
WO2015181962A1 (ja) * 2014-05-30 2015-12-03 株式会社日立製作所 検索方法及び装置並びに記憶媒体
US9817893B2 (en) 2015-02-18 2017-11-14 Adobe Systems Incorporated Tracking changes in user-generated textual content on social media computing platforms
EP3274935A1 (de) * 2015-03-27 2018-01-31 British Telecommunications public limited company Anomaliedetektion durch mehrstufige toleranzbeziehungen
WO2016182774A1 (en) * 2015-05-08 2016-11-17 Thomson Reuters Global Resources Social Media Events Detection and Verification
US10439976B2 (en) * 2015-10-26 2019-10-08 Dell Products L.P. Workflow to generate metadata for new and updated products and augment short message system content
EP3394692B1 (de) * 2016-01-28 2020-03-25 Siemens Aktiengesellschaft Verfahren und vorrichtung zur analyse eines untersuchten komplexen systems
US10462528B2 (en) * 2017-11-20 2019-10-29 Rovi Guides, Inc. Methods and systems for indicating popular content
CN109145114B (zh) * 2018-08-29 2021-08-03 电子科技大学 基于Kleinberg在线状态机的社交网络事件检测方法

Also Published As

Publication number Publication date
EP3918758A1 (de) 2021-12-08
KR20210118452A (ko) 2021-09-30
US11334636B2 (en) 2022-05-17
US20200250249A1 (en) 2020-08-06
US20220365996A1 (en) 2022-11-17
WO2020160186A1 (en) 2020-08-06
CN113454954A (zh) 2021-09-28
DE202020005787U1 (de) 2022-06-21
JP2022519208A (ja) 2022-03-22
BR112021014089A2 (pt) 2021-09-21

Similar Documents

Publication Publication Date Title
DE202020005789U1 (de) Ereignisdetektierung in Echtzeit auf sozialen Datenströmen
DE102012218966B4 (de) Verfahren und System zum Kennzeichnen von durch Dinge im Internet der Dinge erzeugten Originaldaten
DE112012005197T5 (de) Ereignis-Mining in sozialen Netzwerken
DE102019000294A1 (de) Erstellen unternehmensspezifischer Wissensgraphen
DE112016004859T5 (de) Personalisiertes Entitäten-Repository
DE202016008357U1 (de) Entdeckung einer verbundenen entität
DE202012100189U1 (de) Detektion von kreativen Werken auf Ausstrahlungsmedien
DE202012013462U1 (de) Datenverarbeitung in einem Mapreduce-Framework
DE102013205737A1 (de) System und Verfahren zum automatischen Erkennen und interaktiven Anzeigen von Informationen über Entitäten, Aktivitäten und Ereignisse aus multimodalen natürlichen Sprachquellen
DE202017107393U1 (de) Vorhersagen eines Suchmaschinen-Einordnungssignalwerts
DE112018006345T5 (de) Abrufen von unterstützenden belegen für komplexe antworten
DE202014010951U1 (de) Entfernungsabhängige Herabstufung von Suchrankings
DE102011101791A1 (de) Verfahren, vorrichtungen und herstellungsgegenstände zumbewerten des einflusses von websites
DE112012002669B4 (de) Verbessern des Austauschens von Daten in der Social-Network-Umgebung
DE202017100386U1 (de) Latenzreduzierung bei der feedbackbasierten Ermittlung einer Systemperformance
DE112016002226T5 (de) Systeme und verfahren zur verwendung von webseitenskripten zu segmenten von kundensitzungen auf einer webseite
DE102018010163A1 (de) Automatisches Generieren sinnvoller Nutzersegmente
DE102016008612A1 (de) Besucheridentifikation basierend auf Merkmalsauswahl
DE112021003747T5 (de) Erkennen von anomalien in einer netzwerktopologie
DE112020004312T5 (de) Übersetzung von eingebetteten mehrformatdateien
DE102021006293A1 (de) Bestimmung digitaler Personas unter Verwendung datengetriebener Analytik
DE112012005307T5 (de) Verfahren, Computerprogramm und Computer zum Erkennen von Gemeinschaften in einem sozialen Medium
DE202014010918U1 (de) Das Clustering von Werbeanzeigen mit organischen Karteninhalten
KR101780237B1 (ko) 온라인 상에 공개된 질의응답 데이터를 기초로 한 사용자 질의에 대한 응답 방법 및 장치
DE112012000732T5 (de) Chancenidentifikation zur Suchmaschinen-Optimierung

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years